본문 바로가기

박군이 선정한 기사

두 번째 기사 <APT가 무섭다고? 패치 안 하는 당신이 더 무서워>

두 번째 기사 입니다.

APT라는 익숙한 단어가 보여서 선정해봤는데요.(뜻을 다시한번 알아보고자)


오늘의 업로드 포멧도 동일합니다.

1. 기사는 링크를 건다.

2. 기사의 모르는 단어의 뜻을 개략적으로 적는다.

3. 개인의 의견을 1줄로 적는다.


오늘도 한개 올려보겠습니다.(일단 귀찮아질때까지 해보자)




*뉴스

[기사 링크 : http://www.boannews.com/media/view.asp?idx=48008&skind=O ]





**모르는 단어

APT

정보처리기사 실기를 공부해보신분이거나 보안동향에 어느정도 관심이 있으신 분(컨퍼런스에 간다던가)들은 이 단어를 들어보셨으리라 생각합니다.

저도 이 단어에 대해서는 무슨 약자인지는 몰라도 뜻이 '진보된 지속 공격(직역)' 정도인 것을 알고 있습니다.

그러나 정확히 어떤개념인지는 잘 모르므로 한번 알아보겠습니다.


Advanced Persistent Threat의 약자로 범죄그룹이 개인이나 조직(회사,정부) 등을 대상으로 지속적으로(persistent) 해킹공격을 시도하는 것을 말합니다.

저 단어에는 우리가 흔히 생각하는 기술적 취약점을 이용한 해킹도 포함하지만 사람,조직,정보,기술을 총망라한 공격을 의미합니다.

또한 진보된(Adnavced)가 말해주듯이 알려지지 않은 취약점 Zeroday가 포함되어있습니다.

총망라했다는 것은 결국 내부직원에게 악성코드를 넘겨줘 내부직원이 악성코드를 타겟의 망 혹은 PC에다가 직접 친절하게(본인은 그럴의도 없겠지만) 넣어줍니다.

기술적으로 보안패치가 잘된 시스템 어렵게 뚫는 것보다 안전하다고 믿고 있는 허술한 내부직원을 이용하는게 더 나을 수 있겠네요.


최근에 일어났던 농협해킹 사태도 악성코드에 감염된 노트북이 하필이면 농협시스템 관리자 것이었고 그 이후는 유명한 사건대로 엄청난 사고가 일어났습니다.

망분리 되어있어도 내부 직원의 노트북이나 USB가 악성코드 묻혀서 들어오면 망분리가 무소용이 됩니다.

이를 완전히 막는 방법은 없습니다. 다만 업무용은 반드시 외부 인터넷 사용은 금물이며, 윈도우 업데이트, 여러 소프트웨어의 보안패치 등은 필수로 해야 가능성을 줄일 수 있습니다.

[참고한 글 : http://www.dailysecu.com/news_view.php?article_id=256 ]


Slammer

이 취약점을 설명한 글의 게시년도는 무려 2002년입니다. Worm이라고 뜨는거 보니 백신도 있고 패치할 방법에 대한 내용도 모두 연구가 완료된 상태입니다.

증상은 네트워크 속도저하, 시스템 속도저하, 서비스 거부 라고 나와있네요.

누가 꼭 읽어야하는가? 에는 Microsoft SQL Server 2000, Microsoft Desktop Engine 2000을 사용하는 시스템관리자라고 되어있습니다.

매우매우 오래된 기법입니다. 시스템 관리자께서는 패치를 즉시 설치해주십사 하고 recommendation에 적어놨습니다.


작동원리에 대한 설명은 이렇습니다.

"우선 변형된 376바이트 패킷을보내어 스택 오버플로우를 이용, MS-SQL Server의 알려진 취약점을 이용하여 실행하고 웜이 실행되면 GetTickCount함수를 이용하여 랜덤한 IP주소를 생성하고 웜 자신을 UDP 1434 포트를 이용하여 생성된 주소로 보낸다. 이때 Worm.SQL.Slammer은 계속하여 패킷을 보내기 때문에 서비스 거부(DoS)가 발생한다."

점령당한 시스템PC은 패킷보내느라 다른 작업을 할 수 없게 만드는 방법입니다.

[참고한 글1 : http://www.nprotect.co.kr/service/KEB/virus_view.html?no=1&page=132&key=&keyfield= ]

[참고한 글2 : https://technet.microsoft.com/library/security/ms02-039 ]


Heartbleed

이 단어도 정말 한동안 계속 돌았습니다. 뉴스에도 등장했었던거 같습니다. 자세한 개념은 모르는데 한번 알아보죠.

검색해보니 위키백과가 대뜸 맨위에 있습니다. 꽤 유명했음을 대변해주네요.

개요를 보면 2014년 4월에 발견한 OpenSSL(네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈 소스 구현판)의 버그입니다.


위키백과에 자세히 나와있지만 간단히 언급해보겠습니다. 2012년 2월에 출판된 RFC6520에서 제안된 통신 표준입니다.(연결을 매번 할필요 없이 한번 연결해놓고 테스트하며 연결을 유지하는 표준)그 이후 뒤스부르크-에센 대학교의 박사과정을 밟던 Robin Seggelmann이 OpenSSL의 하트비트 확장을 구현하였다. Segglmann이 OpenSSL에 소스코드를 commit하였고 OpenSSL 소속의 4명의 핵심개발자 중에 Stephen N. Henson이 검토하여 소스 코드 저장소에 들어가게 됩니다. 이때(2011년 12월 31일)부터 취약점을 지닌채로 퍼지게 된거죠.


동작원리는 이렇습니다. 연결이 되었으니 당연 패킷을 보내야겠죠. 이때 당근 버퍼를 활용합니다. 네트워크 수업을 들어보신 분이라면 쉽게 이해할 수 있을겁니다.

소프트웨어가 지정한 제한량을 넘겨버리는 이상의 버퍼 읽기(최대 64KB만큼 히익!!)를 요청하면 그게 작동했던게 문제였습니다. 버퍼뒤에 악성코드를 심어놓고 필요한 크기의 버퍼를 초과요청하면 악성코드가 손쉽게 메모리에 올라갈 것으로 예상됩니다. 메모리에만 올라가면 실행은(어떻게 할지는 가물가물하지만) 큰 문제 없으리라 생각합니다.

따라서 상당히 위험한 취약점이죠.


이 버그는 OpenSSL의 구글 보안팀 Neel Mehta가 발견하여 핵심개발자 4명중 1명인 Mark J. Cox에게 알립니다. 그때가 2014년 4월 1일이라는군요. 그렇지만 구글말고도 코데노미콘 이라는 곳에서도 독립적으로 발견하였고 그 곳에서 우리가 익히아는 Heartbleed라는 이름과 로고를 붙입니다.

패치는 2014년 3월 21일에 수정 패치가 이루어졌습니다. 최신버젼을 사용한다면 저 취약점은 패치가 되어있습니다. 패치내용은 취약점의 문제점이었던 요청되는 버퍼 크기를 검사해서 제한량을 넘기면 요청을 무시하는 방법입니다.


그러면 2011년 12월 31일 음...2012년이라 합시다. 2012년부터 2014년 3월까지 Heartbleed 취약점은 존재했고 이미 이것을 알아챈 해커는 있었을 것입니다. 그러면 패치가 일어나기 전에 이 기술로 정보를 훔쳐가는게 가능했겠죠. 대형회사처럼 계속 관리감독하는게 아니라면 정보를 빼내갔어도 모를 확률이 클 것입니다.(참고로 LOL도 OpenSSL을 사용합니다.(아 내 계정이...? 근데 뭐 계정끼리는 거래가 없잖아? 내 정보는 공공재니까...아...뭐 별거 없네요)

[참고한 글 : https://ko.wikipedia.org/wiki/%ED%95%98%ED%8A%B8%EB%B8%94%EB%A6%AC%EB%93%9C ]





***박군의 의견

"패치를 하는게 어려운건 아닙니다. 개인것을 털어가봐야 뭘 건지겠습니까? 언제나 핵심적으로 패치해야하는건 기업과 정부의 PC와 전산망이죠. 그러나 기사에서도 보면 발표된지 1년이 넘었는데도 5000건의 Heartbleed가 해킹이 성공할 것으로 예상합니다.(2002년에 뜬 웜인 Slammer도 아직 현역인걸 보니...) 보안담당자라면 고객정보가 털리는 걸 눈뜨고 볼 수 없습니다. 무조건 빠르게 패치하여 서비스의 안전성을 확보해야함이 옳습니다."