<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" version="2.0">

<channel>
	<title>김민식</title>
	
	<link>http://kms.dolbo.net</link>
	<description />
	<pubDate>Tue, 26 May 2009 06:53:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.2-alpha</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<creativeCommons:license>http://creativecommons.org/licenses/by-nc/2.0/</creativeCommons:license><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/kms" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>SSH 설계 결함 발견</title>
		<link>http://kms.dolbo.net/2009/05/26/ssh-%ec%84%a4%ea%b3%84-%ea%b2%b0%ed%95%a8-%eb%b0%9c%ea%b2%ac/</link>
		<comments>http://kms.dolbo.net/2009/05/26/ssh-%ec%84%a4%ea%b3%84-%ea%b2%b0%ed%95%a8-%eb%b0%9c%ea%b2%ac/#comments</comments>
		<pubDate>Tue, 26 May 2009 06:53:03 +0000</pubDate>
		<dc:creator>김민식</dc:creator>
		
		<category><![CDATA[연구]]></category>

		<guid isPermaLink="false">http://kms.dolbo.net/?p=178</guid>
		<description><![CDATA[원격으로 컴퓨터에 접속할 필요가 있을 경우 가장 많이 쓰이는 것이 SSH일 것이다. 예전에 쓰이던 rlogin이나 telnet과는 달리, 암호나 전송 내용을 드러내지 않을 수 있어서 이제는 거의 필수 도구로 자리잡았다. 특히 OpenSSH는 무려 80%가 넘는 점유율을 보이고 있어서, SSH를 쓴다고 하면 OpenSSH가 설치되어 있다고 보아도 무방할 정도이다. 그런데 이런 중요한 소프트웨어에서 암호화된 메시지가 드러날 수도 있는 [...]]]></description>
			<content:encoded><![CDATA[<p>원격으로 컴퓨터에 접속할 필요가 있을 경우 가장 많이 쓰이는 것이 SSH일 것이다. 예전에 쓰이던 rlogin이나 telnet과는 달리, 암호나 전송 내용을 드러내지 않을 수 있어서 이제는 거의 필수 도구로 자리잡았다. 특히 OpenSSH는 무려 <a href="http://www.openssh.com/usage/ssh-stats.html">80%가 넘는 점유율</a>을 보이고 있어서, SSH를 쓴다고 하면 OpenSSH가 설치되어 있다고 보아도 무방할 정도이다. 그런데 이런 중요한 소프트웨어에서 암호화된 메시지가 드러날 수도 있는 문제점이 발견되었다. 게다가 대부분의 보안 결함처럼 단순히 소프트웨어의 버그로 인한 것이 아니라, 표준으로 나와 있는 RFC 자체에 문제가 있는 것이어서 더욱 심각하다.</p>

<p>다행인 것은 실제로 피해를 입을 확률이 낮다는 것이다. 지난주 18일에 발표된 논문(<a href="http://www.isg.rhul.ac.uk/~kp/SandPfinal.pdf">PDF</a>)에 따르면 32비트 분량의 메시지를 해독할 확률이 약 26만분의 일이다. 그렇지만 SSH가 안전하다고 철석같이 믿고서 매우 중요한 메시지를 주고받는데에 사용한다면, 이번에 발견된 보안 결함에 대한 대비책을 세울 필요가 있다.</p>

<p>공격 원리는 비교적 간단하다. 가장 많이 쓰이는 모드인 CBC의 경우, SSH는 일단 메시지 길이를 받은 후, 해당 길이만큼을 네트워크로부터 받아들여 복호화를 하는데, 메시지 길이 조차도 암호화되어 있어 그걸 먼저 복호화해야만 한다. 복호화한 메시지에 오류가 있다면 SSH는 에러를 내고 연결을 끊어버린다. 다시 말하면, 일부러 오류가 있는 메시지를 보내는 경우 SSH가 몇 바이트를 읽고서 연결을 끊는지를 보면 암호화된 메시지 길이 값을 알 수 있다는 것이다.</p>

<p>그렇다면 메시지 길이 대신에 공격자가 복호화하고 싶은 내용을 보내면 어떻게 될까? SSH는 그 내용이 무엇이건 그걸 숫자로 간주, 그 값만큼 메시지를 읽어들일 것이고, 애시당초 메시지 길이가 아닌 값이므로 메시지 복호화 후 에러를 낼 것이 거의 확실하다. 일단 에러가 발생해서 연결이 끊기면 공격자는 그때까지 보낸 메시지 길이를 확인하여 자신이 복호화하고 싶었던 내용을 알아낼 수 있는 것이다.</p>

<p><a href="http://www.openssh.com/txt/release-5.2">OpenSSH 5.2</a>에서는 이 문제가 해결되었으므로, 32비트조차도 절대로 남에게 넘겨줄 수 없다면 OpenSSH를 업그레이드하는 것이 최선이다.</p>
]]></content:encoded>
			<wfw:commentRss>http://kms.dolbo.net/2009/05/26/ssh-%ec%84%a4%ea%b3%84-%ea%b2%b0%ed%95%a8-%eb%b0%9c%ea%b2%ac/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
