유닉스/리눅스 운영체제는 태어난지 수십년이 지난 지금(2014)도 그 자체로 취약성 덩어리라 해도 과언이 아니다. 다만 네트워크기반의 다른 보안솔루션들의 집중적인 보호(침입차단)를 받고 있고 자체적으로는 사용자인증(로그인)과 기본적인 사용자간의 권한분리(계정을 통한 분리)를 통해 최소한의 보안을 유지하고 있는 것이다. 하지만 말 그대로 "최소한"의 보안이다. 유닉스/리눅스 운영체제를 공부하다 보면 수도 없이 많은 보안 취약성을 발견하게 된다. 그 취약성은 개방성을 기반으로 개발된 운영체제이기 때문이기도 하지만 사실...별다른 보안개념을 적용하지 않고 개발된 운영체제이기 때문이기도 한다. 그중에서 오늘 소개할 것은 심볼릭링크 취약성과 쉘의 취약성이다. (심볼릭링크는 윈도의 단축아이콘과 유사하다.) 이따금씩..
미국에서 헐값에 뿌려진 웨스턴디지털의 NAS인 My Book Live.. 웹 인터페이스가 없다 뿐이지 성능은 꽤나 잘나온다. FTP 속도도 MBL을 집의 IPTIME 공유기에 연결해두고 FTP를 이용해 외부에서 다운로드와 업로드를 해봤는데.. 오..집에 들어오는 SK Broadband의 광랜 속도인 100Mbps가 거의 Full~로 나온다. FTP 속도가 10MB가 거의 나오니 bps로 환산하면 100 Mbps다. 만족할만한 성능을 보인다. 그리고 그때 MBL의 CPU 사용율은 top 명령으로 확인해보면 40%~50% 정도 사용한다. 두세명이 붙으면 개인당 속도는 접속자로 나눈 만큼 제대로 보여준다. 하지만 외부 USB나 SD카드 등을 연결할 수 있는 포트가 전혀 지원되지 않기 때문에 오로지 NAS로 사..
간혹 홈페이지의 소스파일 중 하나인 Javascript 파일이 변조되는 해킹공격을 당해 긴급하게 서버보안SW적용을 요청하는 기업들이 있다. 대부분 보안에 신경을 쓰지 않은 채 웹서버를 구축하거나 홈페이지를 개발하는 경우가 대부분이지만 간혹 이름만 대면 다 아는 그런 기업도 종종 있는 편이다. 얼마 전 긴급하게 요청이 온 기업도 이름만 대면 다 아는 기업이었다. 공교롭게도 방화벽, IPS(웹방화벽), 웹소스변조방지 등 여러 제품을 도입하여 프로젝트를 진행하는 도중에 지속적으로 소스파일이 변조하여 자바스크립트를 삽입하는 공격이 발생하고 있었지만 도입된 솔루션들이 무용지물인 상황인 듯 했다. 급하게 엔지니어를 보내 RedCastle을 설치하고 홈페이지 소스파일들이 위치한 경로에 다음과 같은 정책을 적용했다. ..
서버에 로그온 하여 일을 하는 많은 엔지니어들이 사용하는 명령어 중에 find 만큼 옵션이 다양하고 유용한 명령어도 드물다. 더군다나 보안 관련 업무를 수행한다면 find 명령어의 유용함과 필요성은 더 커질 수 밖에 없다. 자격증 시험 중에서도 이 명령어가 매우 중요하게 다루어지는 시험이 있다. 바로 "정보보안기사"다. 2012년 까지는 SIS 라고 불리던 시험이 국가공인자격증으로 업그레이드가 된 시험이 바로 정보보안기사 시험인데 1회 시험에 find 명령어가 14점 배점으로 한문제가 출제될 만큼 보안 담당자나 엔지니어라면 필수적으로 알아야 하는 명령어라고 할 수 있다. 그런 의미에서... 보안관점에서 find 명령어에 대해 정리해본다. 1. setuid/setgid 파일 찾기. setuid와 setgi..
지난 6월 하순 발생한 대규모 공공기관의 홈페이지 변조 사건(2013년 6월)관련 정보에 대해 구글링하던 중 몇몇 홈페이지 변조 방지 솔루션의 소개페이지들을 보게 되었다. 하지만 자사의 솔루션이 "최고"라는 자부심을 갖는 것은 좋지만 서버운영체제와 웹서버 그리고 HTTP 프로토콜에 대해 전문 지식이 없는 고객에게 응용프로그램 수준에서의 홈페이지 보안만이 홈페이지 위변조를 방어할 수 있다는 잘못된 정보를 제공하는 경우를 많이 볼 수 있었다. 그저 안타까울 뿐이다. 네트워크 보안 솔루션과 응용프로그램수준의 웹보안이 필요 없다는 것은 아니다. 추운 겨울 옷을 입을 때도 얇은 옷을 여러겹 끼워 입는 것이 보온효과가 더 크다는 상식처럼 보안 시스템도 다계층 보안 시스템을 구축해야 효과가 크다. DDOS, DOS,..
Windows, Linux, Unix 등 서버엔 많은 관리자나 엔지니어들이 접속하여 관리를 수행한다. 여기서 "접속"이라 함은 일반적인 웹서비스나 일반 업무 프로그램을 통한 접속이 아니라 telnet, ssh, terminal service 등 서버의 관리를 위해 운영체제에서 기본적으로 제공하는 접속 환경을 말한다. SSH 혹은 telnet을 통해 Unix/Linux 서버에 접속하면 아래와 같은 화면이 표시된다. 이때부터 서버의 관리는 그 옛날 DOS시절보다 더 복잡한 명령어를 실행하거나 설정함으로써 이루어진다. 서버의 보안관리상의 문제는 여기서 부터 발생한다. 1. 누가(사람) 언제 어디서 접속하였는가 ? 2. 어떤 계정으로 접속하였는가 ? 3. 어떤 명령을 실행하였는가? 4. 명령 실행 후 어떤 결과..
I. 사건 개요 2013년 3월20일 오후 12시 경 방송사와 금융기관의 내부 네트워크에 연결된 모든 PC를 공격하여 PC의 디스크 파괴를 통해 업무 전산망을 마비시키는 대형 보안사고가 발생하였음. l 발생일시 : 2013년 3월20일 오후 12시 ~ 14시 l 공격대상기업 : 3개 방송사(공중파 2개, 케이블 1개)와 3개 금융기관(1금융권) l 공격대상자원 : 기업 내부의 업무전산망에 연결된 모든 PC l 공격방법 : PC에 악성코드를 유포하여 PC내의 디스크 파괴 l 공격결과 : 기업 내부의 업무 전산망 마비로 인한 업무 마비 및 중요 데이터 파괴 II. 사건 분석 3월20일 발생한 보안사고는 다음과 같은 절차에 의해 수행된 것으로 보임. l 공격 대상 기업의 내부 전산망에 위치한 PC용 백신의 관..
Unix와 Linux 서버의 운영체제에서 보안을 위해 가장 주의해야하는 것은 바로 수퍼유저 계정, 즉 root 계정의 권한 탈취다. 만약 해커가 root 권한을 탈취한다면 해커는 서버에서 하고자 하는 모든 것을 할 수 있다. 해커가 root의 패스워드를 모르는데 어떻게 root 권한을 탈취할 수 있는가? Unix와 Linux 운영체제는 보안에 신경쓰지 않고 개발한 연구용 운영체제다. 그러다 보니 개발 과정에서 일반 사용자 계정에서 root 권한을 필요로 할 경우 root 의 패스워드 없이 root 권한을 얻을 수 있는 다음과 같은 기능을 넣었다. - 파일 퍼미션의 setuid bit에 의해 다른 계정의 권한을 임시로 얻는 기능 - 프로그램 내에서 setuid() 함수를 실행하여 현재 실행중인 프로세스의 ..
최근 발생한 현대캐피탈과 농협 그리고 이번 KBS, MBC, YTN, 신한은행, 농협의 치명적인 보안사고로 인해 금융산업분야 뿐만 아니라 비지니스를 위해 혹은 전산시스템이 비즈니스 그 자체인 많은 기업과 공공기관에 초비상이 걸렸다. 덕분에 나도 너무 많이 바빠진 사람중의 하나가 되었다. 하지만 Unix/Linux 운영체제는 자체적인 보안기능이 매우 부족하다. Unix/Linux가 애초부터 “보안”을 염두에 두고 개발한 운영체제가 아니기 때문에 운영체제 자체적으로 엄청나게 많은 관리적/기술적 취약성을 갖고 있다. 기술적 취약성 중 일부는 운영체제의 설정을 변경하여 보완할 수도 있지만 근본적으로 한계를 갖고 있으며 관리적 취약성은 운영체제 차원에서는 대응할 수 있는 방안이 없다. 그래서 공공기관 및 금융부문..
밤사이 부지런한 분석가들로 인해 KBS, MBC, YTN 그리고 일부 금융사 해킹으로 인한 전산시스템 다운의 원인이 밝혀진듯 하다. 원인은 각 사에서 사용하는 PMS 서버에 PC로 배포할 프로그램으로 위장하여 침투하고 정해진 시간에 일거에 동작하여 장애를 유발 시킨 지응적인 APT 공격으로 밝혀지는 듯 하다. PMS (Patch Management System) ??? 그리고 PMS의 취약점은 ?? Windows에는 제어판의 프로그램 추가/제거 기능이 있고 이 기능은 Windows 자체의 버그패치와 보안패치 그리고 windows 자체의 프로그램 설치와 제거를 할 수 있는 일종의 모듈관리 기능을 갖고 있다. 하지만 일반인 수준의 사용자들은 Windows 자체의 버그패치나 보안 패치를 잘 하지 않는다는 점에..
2013년 3월 20일... 또 보안사고 역사에 길이(?) 남을 만한 보안사고가 발생했다. 조금은 특이한 형태의 공격인 듯 한데 KBS, MBC, YTN 3개 방송사의 내부 전산망이 일시에 다운이 된 사고다. 그런데 이 표현 "방송사 내부 전산망이 일시에 다운"이라는 표현은 참으로 무지한 표현이다. "전산망" 이라함은 "서버와 서버 혹은 서버와 PC를 연결하는 Network"를 일컫는 표현이다. DDOS와 같은 공격에 장애가 발생할 경우 "전산망" 공격이라는 표현이 옳은 표현이겠지만 이번의 경우는 "전산망 다운"이라고 부르면 안된다고 생각된다. "KBS, MBC, YTN" 공격의 특징 여기 저기서 들려오는 소문과 객관적 사실들을 정리해보면 1. KBS 아나운서의 트위터 : 오후 2시경 갑자기 PC가 리부..
보안 강화의 어려움 보안 업계에서 일하면서 느끼는 것 중 하나가 유독 보안업계에는 서버나 네트워크 혹은 업무 시스템의 개발과 구축 경험을 가지지 않은 "보안 전문가"가 많다는 것이다. 그러다 보니 "보안"을 문서나 말로만 하는 사람들이 많고 실제 서비스 운영이나 업무 영역의 소프트웨어를 개발하는 실무자들과 트러블이 많아진다. 우리나라 IT 분야의 특성 상 보안 업무는 개발이나 운영 그리고 IT 시스템을 사용하는 비지니스 업무 담당자들로부터 "방해꾼"의 오명을 뒤집어 쓰는 경우가 많다. 당연히 보안 실무자들의 업무 수행은 어려워질 수 밖에 없다. 가뜩이나 "보안을 강화하면 현업 업무가 불편하고 어려워진다" 는 인식이 강한데다 현업 업무 담당자들이나 업무 시스템 개발자, 운영자들이 볼 때는 현업 업무도 모르..