2024-04-26 23:40 (금)
“공공기관서 대부분 사용하는 국산SW 보안성 높여야”
상태바
“공공기관서 대부분 사용하는 국산SW 보안성 높여야”
  • 길민권
  • 승인 2012.05.08 16:35
이 기사를 공유합니다

Beist, “한국 공격한다면 HWP 같은 유명 SW가 타깃될 가능성 커”
지난달 4월 26일~27일간 열린 SyScan에서 BeistLab 이승진씨와 Ryan이 공동으로 발표를 진행했다. 아래 내용은 이와 관련 국내에서 궁금해하는 사항에 대해 이승진씨 본인이 직접 문답형으로 설명한 내용이다. <편집자주>
 
이번 시스캔 2012(syscan.org)에서 Ryan과 함께 “Owning entire organisations with regional software they’ve never heard of”란 주제로 발표를 했습니다. 시스캔 발표 이후, 몇몇 한국분들이 질문을 주셨는데 이를 정리하여 블로그 글로 간략히 작성해보았습니다.
 
1. 시스캔에서 발표한 한글 취약점이 제로데이인가요?
네, 이번 연구를 통해서 직접 발견한 제로데이입니다. 한글 최신버전에서 작동하는 것을 확인하였습니다.
 
2. 몇 개의 한글 취약점을 발견했나요?
발표에서 언급한 것처럼, 퍼징을 통해서 발견하였고 최소 5개 이상의 크래쉬가 exploitable한 것을 확인하였습니다.
 
3. 한글 제로데이 데모를 하셨다고 하는데, 정확히 어떤 내용인가요?
본 한글 취약점은 memory corruption을 통해 발생하는 취약점으로, 해커는 자신이 원하는 쉘코드를 실행할 수 있는 상황입니다. 데모에서는 저희가 조작한 한글 파일을 실행하는 방식을 선택 하였고, 성공할 경우 특정 이미지 파일을 열어서 화면에 보이도록 했습니다.
 
해당 이미지에는 특별한 의미는 없고 저희가 친하게 지내는 해커들인 Stefan Esser와 Grugq을 발표현장에서 놀리기 위해 재미로 제작된 합성 이미지였습니다.
 
4. 이번 발표에서 무엇을 말하고 싶었던 건가요?
이번 발표를 통해 저희가 언급하고 싶었던 부분은 “한국을 어떻게 해킹하느냐“가 아니라 “보안을 위해서 한국의 Security Bar를 높여야 한다“였습니다. 우리나라의 경우 MS Word같은 외산 프로그램보다 HWP 등의 국산 프로그램이 보안적인 측면에서 더 파급력이 큽니다. 모든 관공서에서 사용하고 있기 때문이죠.
 
안타깝게도 HWP는 한국에서만 유명하기 때문에 어떻게 보면 그 안전성이 세계적인 해커들에 의해서 검증된 상태가 아니라고 볼 수 있습니다. 문제는, HWP가 한국에만 고립된 환경이라 하더라도, 이것을 연구하여 악용하는 사람은 분명히 있기 마련입니다.
 
즉, HWP같은 국산 프로그램도 공격 대상에 포함된다는 것은 확실하다고 볼 수 있는 것이죠. 예를 들어 한글에서 제로데이가 나올 경우, 다른 나라 정부에서 이를 악용하여 한국의 주요 인물들을 공격하는데 사용할 수도 있습니다.
 
그렇기 때문에 우리가 먼저 나서서, 국산 프로그램들의 보안성을 높일 필요가 있다는 것입니다. 이번 발표를 통해 사람들에게 경각심을 주고 싶었습니다.
 
5. 이번 발표에서 굳이 한글을 택한 이유는 무엇인가요?
특별한 이유는 없으며, 단지 한글 HWP가 한국에서 가장 유명한 프로그램이고 제일 높은 점유율을 가진 워드 프로세서이기 때문입니다.
 
6. 발견하신 취약점들은 공개하실 계획인가요?
아직은 공개할 계획은 없습니다.
 
7. 벤더에 리포트를 할 예정이신가요?
벤더에 리포트할 예정은 아직 없습니다.
 
8. 발표하신 퍼징 기술에 대해서 간략히 소개하신다면?
퍼징의 기술은 굉장히 다양한 방식으로 연구되고 있습니다. 저 역시 저만의 방식의 퍼징을 연구하고 사용 중인데, 가장 큰 특징 2가지를 언급하면 다음과 같습니다.
 
첫째, 소스 코드가 없는 환경에서 바이너리를 직접 변조하여 플로우를 기록하고 퍼징을 수행할 수 있도록 합니다. 둘째, 퍼징을 수행하며 기록한 플로우를 레코딩하고, 이전/이후의 플로우를 비교하여 어떤 부분의 데이터가 프로그램 실행에 영향을 주었는지 식별한 후, 데이터를 어떻게 바꿔야 다른 basic block 혹은 function에 접근할 수 있는지 알아냅니다.
 
기존의 Smart 퍼징이 정적 분석이나 라이브 분석을 통해 얻은 데이터를 이용하여 코드 커버리지를 넓히려 했던 것에 비하여 제가 이용한 퍼징은 실행 후 취득한 데이터를 이용한다는 점에서 차이가 있습니다. 코드 커버리지를 넓히기 위해서는 intermediate language, taint analysis, symbolic execution 등의 기술이 필요한데, 탁월한 기술들이지만 단점은 속도가 느리다는 것입니다.
 
이를 보완하기 위해 어떤 연구에서는 분석해야 할 부분을 선택적으로 택하기도 하는데, 제가 이용한 방법이 갖는 의미는 분석해야 할 대상인 데이터와 플로우를 뒤에서부터 접근하기 때문에 비교적 정확하고 최적화할 수 있다는 점입니다. 가령, 끝에서부터 비교하여 접근을 하기 때문에 비교 대상의 범위를 지정하기가 좋은 방법론이라는 이야기입니다.
 
또한 앞서 언급했듯이 디버거 등의 도움을 받지 않고 바이너리 후킹을 통해 퍼징을 하기 때문에 Native speed로 작동하는 것이 장점입니다. BitBlaze나 S2E 등의 기존 아카데믹 연구들이 본 연구를 하는데 계기를 주었습니다. 이러한 연구들은 훌륭한 기술들이 사용되었음에도 불구하고 속도 등의 문제 때문에 제 연구에 사용하기에는 어려웠고, 따라서 일부 기술이나 아이디어를 차용하여 새로운 아이디어를 구상한 후 구현해보았습니다.
 
9. 시스캔 컨퍼런스는 재미있었나요?
제가 가본 컨퍼런스 중에서 가장 훌륭한 컨퍼런스중에 하나였습니다. 개인적으로는 2번째 방문인데, 세계적으로도 그렇지만 아시아에서는 독보적으로 훌륭한 발표들이 포진되어 있습니다. 규모는 작지만 세계적으로 모이는 컨퍼런스이기 때문에 아시아 컨퍼런스라고 보기 힘들 정도입니다.
 
발표뿐만 아니라 참관객들, 특히 스피커들에 대한 대우가 무척 좋은 컨퍼런스입니다. 주최측은 스피커들에게 좋은 경험을 주기 위해 노력하고 정말 케어를 잘해줍니다. 저의 경우 음주를 좋아하기 때문에 더욱 마음에 드는 컨퍼런스였는데, 24시간, 3일 내내 술이 항상 준비되어 있습니다.
 
사실 컨퍼런스에서 발표되는 내용들은 그냥 집에서 슬라이드만 봐도 어느 정도 이해가 된다고 봅니다. 이것보다 중요한 것은 발표장에서 다른 해커들과 네트워킹을 하며 이야기를 하고 정보를 얻는 것인데 이게 컨퍼런스 참관의 진정한 장점이 아닌가 생각합니다.
 
10. 다음 발표는 언제인가요?
5월 중순경 일본의 WAIGAYA meeting에서 “APT 공격, 그리고 왜 우리는 자국의 Security bar를 높여야 하는가?”에 대해서 발표할 예정이며, 7월엔 한국에서 열리는 보안 컨퍼런스인 코드엔진에서 퍼징 기술에 대해서 발표할 계획입니다.
[글. BeistLab 이승진]
■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★