Unix 서버와 Linux 서버 그리고 Windows 서버 운영체제는...사실 운영체제 그 자체가 취약점 덩어리라고 할 수 있다. 하지만 대부분 운영체제 자체의 취약성은 운영체제의 필요불가피성에 뭍혀버리고 서버 외부에서 서버 내부로의 침투를 차단하는데 온갖 보안 솔루션을 동원하여 방어하고 있다. 그러나... 최근 몇년 사이에 그러한 인식은 많이 바뀌어 가고 있음을 서버보안SW를 다루면서 느낄 수 있다. 내부망/내부자에 의해 서버 운영체제의 취약점 공격은 너무도 쉽다는 것이 농협사고와 카드3사 사고 등 초 대형 사고와 함께 알려지기 시작했고 네트워크 보안으로는 방어하기 힘든 APT 기법에 의한 해킹이 빈발하면서 서버 내부에서의 통제 강화 필요성이 대두되고 있다. 이번 포스트에서는 방화벽을 우회하여 서버에 ..
명령어 실행 및 파일 접근 통제 정보보안이라고 하면 흔히 악성코드나 모의해킹 그리고 취약성 분석 등을 떠올리기 마련이지만..사실상 해커들이 그러한 공격기법들을 통해 얻으려 하는 것은 매우 단순하다. 바로 "정보"다. 그리고 해커들이 원하는 정보는 99%가 "파일" 혹은 "데이터베이스"에 저장되어 있기 마련이다. 그렇다면 이 "정보"를 획득하기 위해 사용되는 "명령어" 또는 정보가 담겨있는 "파일"에 대한 접근(실행/읽기)을 완벽하게 통제하면 모든 것은 해결된다. 해커들은 "정보"를 획득하는데 사용되는 "파일"이나 "명령어"를 실행할 권한을 얻기 위해 그 생쑈~를 하는 것이다. 벌써 많은 사람들의 기억에서 잊혀져가고 있는 농협의 200대가 넘는 서버 해킹사고와 다수의 카드사에서 발생한 엄청난 양의 금융정보..
클리앙의 랜섬웨어 유포 사고 4월의 하순으로 접어드는 어느 날... 국내에서 꽤나 큰 커뮤니티인 클리앙에서 접속자들의 PC에 랜섬웨어가 유포되는 해킹사고가 발생했습니다. 랜섬웨어는 커뮤니티의 웹서버 중 하나를 해킹하여 소스를 수정하는 "웹서버 소스 파일 위변조 공격"으로 커뮤니티에 접속한 사용자 PC에 해커들이 미리 준비해 둔 다른 웹서버에서 랜섬웨어를 다운로드 받도록 하는 "드라이브 바이 다운로드(Drive By Download)" 기법으로 유포되었습니다. 커뮤니티 웹서버에 접속하여 PC로 다운로드 된 악성코드는 어도비(Adobe)의 swf 파일을 로드하여 실행할 수 있는 취약점인 CVE-2015-0311 취약점을 이용하여 swf (어도비 플래시파일)로 배포되어 인터넷익스플로러를 통해 실행되는 형태로 ..
보안 운영체제라 부르는 Secure-OS를 이용한 서버의 보안 강화와 관련된 이슈는 아직까지 보안 시장에 무르익지 않고 있습니다. 하지만 2011년 농협 보안사고와 다수의카드사 개인정보 유출 사고에서와 같이 대형 보안 사고는 대부분 "서버 운영체제에 개발자 혹은 관리자 권한"으로 접속한 내부 사용자 권한을 가진 사람들에 의해 발생하고 있기 때문에 실제 정보가 저장되고 가공되며 서비스 되고 있는 서버 내부에서의 위협에 대한 통제 방법론에 대한 이슈는 분명 지속적으로 이슈가 제기될 것입니다. 서버 내부의 개발자와 관리자에 대한 행위 통제는 불가능 한가? 당연히 가능합니다. 하지만 많은 IT 종사자는 물론 보안 전문가들도 IBM, HP, Oracle(구 Sun Microsystems)와 같은 상용 유닉스 운영..
최근 웹서버의 소스 변조 공격이 또 다시 붐~처럼 휘몰아 치고 있는 듯 하다. 얼마 전 지속적인 웹 소스파일 변조 공격을 받고 있어 몇 주 째 사투(?)를 벌이고 있던 한 웹사이트 운영 업체의 요청으로 RedCastle SecureOS를 설치하고 해커와 한판 전쟁을 치르게 되었다. 이 해커는 다른 일반적인 소스 변조를 시도하는 사례와는 달리 한 두 가지의 공격을 차단되어도 포기하지 않고 계속 새로운 공격을 시도하고 있었다. 대부분의 경우는 웹 소스의 변조 시도가 차단되면 포기(?)하고 물러나는 것이 일반적인데 이 해커는 집요하게 새로운 공격을 감행하여 차단을 우회하려 시도하거나 운영체제의 파일들을 변조하려 하는 등 포기하지 않는 끈질김을 보여주었다. 2014년 11월의 어느 날... 급박한 요청을 받고 ..
윈도 운영체제는 태생적으로 갖고 있는 문제들로 인해 아직도 매우 취약한 운영체제로 분류됩니다. 현재 진행형인 보안사고 사례에서 재미있는(?) 윈도 운영체제의 취약성을 알게 되어 소개하고자 합니다. 윈도서버에 매우 손쉽게 백도어를 생성할 수 있는 방법 중 하나입니다. 유닉스나 리눅스가 갖고 있는 쉘카피백도어와 비슷한 백도어 생성기법 중 하나입니다. sethc.exe는 C:\Windows\system32 디렉토리에 있는 시스템 파일입니다.(이 파일의 용도 설명은 생략합니다.) 그리고 이 명령어는 Shift 키를 다섯번 연속으로 누르면 실행되는 다음 화면을 보여주는 명령어 입니다. 아마 많은 분들이 "아하~~이 화면..."이라고 생각하실 겁니다. 맞습니다. sethc.exe는 바로 이 화면을 보여주는 명령어 ..
해킹 공격 중에 DOS(혹은 DDOS) 다음으로 많이 발생하는(어쩌면 반대일 수도) 공격이 바로 웹쉘을 통한 웹서버 공격입니다. 해커들이 웹서버를 공격할 때 가장 즐겨 사용하는 공격도구이자 취약점이 바로 웹쉘입니다. 웹쉘은 Unix/Linux는 물론 Windows 서버까지 운영체제를 가리지 않고 존재합니다. 또한 JSP, ASP 등 웹서버에서 구동되는 언어 또한 가라지 않고 다양한 웹쉘이 존재합니다. 게다가 파일탐색기, 파일업로드, 파일의 생성/수정/삭제는 물론 서버 내의 명령어 실행까지 가능한 토탈패키지 형태의 웹쉘도 존재하고 기존의 운영중인 웹페이지의 소스에 한 두줄을 추가(변조)하여 해커가 원하는 한 가지 기능만 수행하도록 하는 탐지가 거의 불가능한 웹쉘도 존재합니다. 하지만 웹쉘의 공통적인 기능은..
얼마 전에 리눅스 운영체제의 기본적인 쉘(shell)인 bash의 취약점이 발견되어 인터넷을 통해 널리 알려졌습니다. 하지만 이번에 발표된 취약점의 특징은 하트블리드 취약점과는 달리 네트워크 프로토콜의 결함이 아닌 리눅스에서 가장 널리 사용되는 쉘(shell)인 bash (bourne-again shell)의 취약점입니다 저는 처음에 자세한 내용이 아닌 트위터나 페이스북에 올린 한두 줄의 bash 취약점 소식을 듣고... "쉘이 원래 명령어를 실행하기 위한 도구인데...버그일 수는 있지만 취약점일까??" 싶었습니다. 한동안 이리저리 신경 쓸 일이 많아 오늘에야 자세한 내용을 살펴보니 참 황당한 bash의 버그였고 해킹에 악용된다면 웹쉘이 업로드된 수준의 위험을 갖는 취약점이었습니다. 쉘이 어떤 것인지 궁..
최근 "302 리다이렉션 공격"이라는 해킹이 유행하고 있는 듯 합니다. 마치 새로운 대단한 공격 기법인 것처럼 호들갑을 떨지만 이것은 새로운 공격 기법은 아닙니다. 홈페이지를 변조하거나 웹 브라우저가 요청한 웹페이지에 대해 특정 자바스크립트 코드를 삽입하여 클라이언트 PC의 웹 브라우저가 악성코드를 다운로드 받게 하는 하는 수많은 공격 기법과 전혀 다를 바가 없는 일반적인..흔하디 흔한 공격 기법 입니다. 다만 302 리다이렉션은 수많은 네트워크 보안솔루션들을 우회하기 위해 등장한 변종 기법이라는 점입니다. 홈페이지의 소스파일의 위/변조를 원천적으로 차단하면 보다 강력한 보안이 이루어질 텐데 네트워크 수준에서...또는 웹 서버의 설정을 변경하여 외부URL을 포함하거나 외부 서버에 있는 파일의 다운로드 링..
해커들이 해킹을 통해 침투하고자 하는 컴퓨터는 딱~ 두종류로 요약된다. 개인의 비밀스런 정보가 저장되어 있는 Windows 운영체제가 설치된 개인용 컴퓨터와 기업의 기밀정보(고객 개인정보 포함)가 저장되어 있는 서버다. 이 두 컴퓨터에 침입하기 위한 공격 기법은 이루 셀 수 없을 정도로 다양하다. 그중에서 최근 해커들에게 각광받고 있는 공격기법이 바로 웹서버 해킹을 통해 웹페이지의 소스를 변조하여 공다팩(Gongda pack)이라 불리는 익스플로잇 공격도구를 개인용 컴퓨터에 감염시키는 해킹기법 이다. 공다팩이 무엇인지 살펴보면... "Dadong" 이라는 독특한 스크립트 난독화된 익스플로잇 툴킷으로서 Windows 컴퓨터에 감염되어 Microsoft의 Windows, Office 등 제품의 취약점과 Ac..
해킹 여부 및 DDOS 공격 여부를 확인하기 위해 unix/linux 서버를 점검할 때 가장 먼저 살펴봐야할 것은 서버의 통신 상태다. 그리고 이때 사용하는 명령어는 netstat 명령이다. 만약 root권한의 탈취가 의심되고 운영체제 파일의 변조까지도 의심스럽다면 서버에 기본적으로 설치되어 있는 netstat 명령보다는 사고가 발생하지 않은 서버에서 netstat 명령어나 lsof 명령어 등을 업로드하여 사용하는 것이 좋겠다. 많은 엔지니어나 운영자들이 TCP 소켓의 상태 중에 3 way handshake 과정에 해당되는 LISTEN이나 SYN_SENT, SYN_RCVD, ESTABLISHED 등의 상태에 대해서는 잘 알고 있지만 FIN_WAIT1이나 FIN_WAIT2 등 통신 종료과정의 상태에 대해서..
KT의 개인 정보 유출과 여러 신용 카드 사의 개인 정보 유출 등 끊임없이 발생하는 보안 사고는 기존의 보안 솔루션들이 보안 솔루션 답지 않게 보안 취약성을 제대로 제거해주지 못한다는 것을 의미한다. 특히 인터넷을 통한 서버로의 직접 침투는 많이 줄었지만 (사실 그리 줄지도 않았지만..발견되지 않거나 은폐될 뿐..) 정보가 저장되어 있는 서버에 접근 권한을 가진 내부 관리자 및 개발자 그리고 외주 인력에 의한 보안 사고는 오히려 더 늘고 있다. (신용카드 3사의 개인정보 대량 유출이 가장 대표적인 사례다.) 공공 기관과 기업의 전산실에서는 오래전부터 내부자의 서버 접근을 통제하기 위해 여러 방안들이 적용하고 있긴 하다. 하지만 그 내부 접근 통제의 개념과 적용 범위를 제대로 결정하지 못하고 있고 적용하고..