CUCKOO SANDBOX 2.0.0

오늘은 가장 중요한 오픈 소스 자동화 악성코드 분석 샌드박스인 Cuckoo Sandbox에게 중요한 날이다. 지난 1년 동안 작업한 끝에 Cuckoo Package (코드명 "package")의 첫 번째 버전을 출시했다. 우리 릴리즈의 기존에 했던 것처럼 많은 개선사항, 새로운 개념, 안전성 조정 등 도입하였으나 이러한 모든 세부 사항에 대해 이 게시물에서 설명할 수 없다.

Cuckoo Package는 배치, 유지 보수, UX & User Interaction 그리고 Cuckoo Sandbox 자체의 개발 주기와 관련하여 새로운 미래를 만날 수 있다. 이러한 부분은 지금까지 2010년 초반부터 사용성과 UX 측면에서 개선해야 했던 중요한 부분이었고, 개발팀과 사용자 모두에게 새로운 시대의 시작을 의미한다.

유용성과 UX, 안정성 향상 그리고 기타 변경사항의 세 가지 범주로 구분하여 개선 사항을 언급한다.

Usability & UX

이번 릴리즈에서 가장 중요한 부분은 사용자를 위한 초기 설정을 간소화한다는 목표를 처음 적용한 것이다. 기존의 설치 과정은 초보 사용자가 Cuckoo Sandbox를 설치하는데 최대 3일이 소요될 수 있다. 하지만 이번 릴리즈를 통해 설치 시간을 1 시간으로 줄일 것이다. (VM 설정은 나중에 포함)

이제부터 $ pip install -U cuckoo를 실행하여 Cuckoo를 설치할 수 있다. 물론 더 많은 설치 단계가 있지만, 이렇게 설치하는 형태가 가능하다면, Cuckoo 설치와 업그레이드는 이 명령으로 간단하게 수행할 수 있다. pip install이 제대로 작동하지 않는 경우 운영체제별 pip 설치 방법을 고려한다.

수 많은 사용자가 보고한 다양한 문제를 해결하기 위해 많은 노력을 기울였다. 이러한 노력의 결과로 다음과 같이 많은 일반적인 오류를 완화할 수 있었다.

  • critical timeout이 에러로 처리하지 못했던 문제
  • 누락된 가상머신의 스냅샷 문제
  • 파이썬 패키지 누락으로 인한 설치 문제
  • 호환되지 않는 파이썬 패키지 버전 문제
  • 구성을 잘못 했을 때 발생하는 문제

이번 릴리즈는 Cuckoo 웹 인터페이스에 대한 많은 업데이트를 진행했으며, 초보사용자는 물론 고급 사용자가 이러한 업데이트를 최대한 활용할 수 있도록 단순화된 UX를 제공한다. 다른 많은 업데이트 중에서 다음과 같은 개선 사항을 강조한다.

  • nested archive와 전역 & 분석 별 고급 옵션을 완벽하게 지원하는 submit 페이지
  • Night & Cyborg 테마
  • 최근 분석 페이지에서 지연 로딩(Lazy loading)과 필터링
  • 새로운 대시 보드, 분석 요약 그리고 네트워크 트래픽 페이지

유용성과 관련해서 다음과 같은 부분이 있다.

  • 공식적인 윈도우와 Mac OS X 호스트 지원
  • Cuckoo에 있는 모든 기능(cuckoo -d, cuckoo api, cuckoo web 그리고 cuckoo process가 실행하는 것이 무엇인지를 추측)을 포함한 Cuckoo 을 소개
  • Cuckoo를 반자동으로 실행하고 계속 실행되도록 감시하는 supervisor 기반 구성 파일
  • 유니코드 파일 이름 & 큰 파일 지원 (예, 최대 1GB 파일을 성공적으로 테스트)
  • 전자 메일 편지함에서 첨부 파일 (또는 전자 메일 자체)를 Cuckoo (nested archive 지원을 사용)로 직접 전달하여 악성에 대한 실시간 정보를 얻을 수 있는 기능
  • 토르 네트워크 라우팅 지원
  • SaltStack용 Cuckoo 모듈을 사용하여 여러 서버를 빠르게 배포

Stability Improvements

이번 릴리즈에는 안정성 조정과 단위 테스트에 대한 많은 작업을 포함했다. 특히, 코드 베이스의 50% 이상에서 단위 테스트를 결합하여 600개가 넘는 단위 테스트를 수행했다. 그 외에도 거의 100 가지 기능 테스트를 진행했다. 이러한 테스트는 이전의 단위 테스트보다 큰 진전이 있었지만, 사실상 아무것도 아니었다. 이전 버전의 Cuckoo와 호환성이 보장되지 않지만, 이러한 단위 테스트를 통해 새로운 기능이 실제로 동작한다는 것을 증명하고, 새로운 기능을 보다 신속하고 지속적으로 개발하고 출시할 수 있게 바뀔 것이다.

당연히 새로운 버전은 더 안정적일 뿐만 아니라 개선된(그리고 선택사항으로) 사용자 지원을 통합되었다. 분석이 예상대로 동작하지 않을 경우 feedback 버튼을 클릭하여 고려 사항을 양식에 작성한다. 우리는 작성한 메시지와 함께 분석 사본(우리와 공유하고자 하는 한도 내에서)을 얻고, 이를 기반으로 비교적 신속하게 문제를 조사할 수 있으며, 문제가 해결 될 때 ETA나 수정 방법을 제시하고, Cuckoo 사용자 설정에 대한 타당한 해결을 위해 이메일을 통해 주고 받으며, 향후 출시에 버그 수정을 포함시켜 이 버그가 더 이상 발생하지 않도록 할 수 있다.

Misc changes

이전에 설치한 Cuckoo Sandbox에 모든 구성과 분석을 포함한 경우 좋은 소식이 있다. 바로 새로운 버전에서는 기존의 Cuckoo 설정을 가져올 수 있다. Cuckoo는 데이터베이스 마이그레이션과 구성 마이그레이션 (예, cuckoo.conf와 기타 구성 파일에 변경사항이 있는 경우)을 적용하고 기존의 모든 분석을 포함하는 새로운 Cuckoo 환경을 준비하고 있다. 기존 설정으로 업그레이드하는 것은 쉬운 일이 아니다. 이 업그레이드 중에 로컬 설치에 적용된 모든 코드 변경사항은 고려되지 않는다. 이러한 것은 수동으로 적용해야 한다. 이 문제에 대한 도움을 받으려면 우리 팀에 문의하기 바란다.

이 릴리즈에는 많은 크고 작은 개선 사항이 있다. 공평하게, 1년의 발전에 기대하는 또 다른 것이 있을까? 이러한 의문을 해결하기 위해 다음과 같이 빠르게 나열해본다.

  • JSON 로깅 (Spluck나 ELK/Grafana와 같은 것과 통합)
  • report.html 업데이트
  • 적절한 VirusTotal 키로 구성된 경우 샘플 해시 제출
  • Yara 규칙과 Cuckoo 시그니처와의 상관 관계가 쌍으로 생성하는 것을 단순화 함 (Yara로 군/변형을 식별하고 Cuckoo 시그니처를 사용하여 관련 정보를 추출하는데 매우 유용)
  • SMTP 트래픽의 적절한 추출
  • Cuckoo 모니터가 IE11을 지원
  • Cuckoo 모니터에서 "트리거" 지원, 즉, API 호출 시 로깅을 시작하는 것으로 예를 들어, 실제 문서에 접근한
  • Office Word를 모니터링 (이를 통해 일부 정크 API 호출을 줄임)
  • 파워쉘과 .NET을 지원하는 Cuckoo 모니터

Upcoming

앞으로 릴리즈하여 포함될 내용에는 여전히 크고 작은 변화가 많이 있다. 이제는 업그레이드가 훨씬 쉬워져 (예로, $ pip install -U cuckoo) 업데이트를 자주 할 것이다. - 꼭 그렇게 하도록 구성할 것이다. 새로운 기능, 치명적인 버그 수정 등 필요할 수 있다. 

다음에 나오는 아이디어, 기능 그리고 개조를 통해 이룰 예정이다.

  • Cuckoo의 윈도우 커널 드라이버인 zer0m0n의 초기 통합 릴리즈
  • Suricata 통합 개선 및 업데이트
  • 더욱 완벽한 IE11 지원
  • (HTML 보고서를 기반으로 한)PDF 보고서
  • InetSim 네트워크 라우팅 지원
  • 수치화를 알파-소프트웨어 퀄리티가 아닌 수준으로 향상
  • 시작시 웹 기반 설치 포털에서 시작
  • 적절한 검색 기능 (MongoDB & ElasticSearch 기반)
  • 웹 인터페이스에 통합된 Cuckoo 사용 설명서
  • 사용자가 보고한 모든 버그 수정
  • 안정성 향상 및 단위 테스트 강화
  • ... 그리고 이미 50 이상의 개조 및 개선 작업을 수행 ;-)

향후 버전에서 기능 요청, 부가 기능 등을 확인하고 싶은가요? 아래 연락처 정보를 확인하고, 이래의 did you know를 확인하세요.

Conclusions

이번 릴리즈는 많은 새로운 특징과 기능을 사용자에게 제공한다. 단순화된 설정과 사용 패턴을 통해 프로젝트에 보다 쉽게 접근할 수 있고 현재의 모든 환경에서 보다 쉽게 통합될 수 있기에 보다 광범위한 사용자 기반을 형성하길 바란다.

의견 및 질문이 있으면, IRC (#cuckoosandbox on irc.freenode.net), Github 저장소, 또는 이메일로 문의해주길 바란다. 향후 블로그 게시물, 발표 자료 및 기타 공지사항에 대한 최신 정보를 얻으려면 이메일을 보내주세요.

Did you know?

놓친 몇가지 내용은 다음과 같다.

  • 우리는 Cuckoo를 필요로 하는 조직에 컨설팅 서비스를 제공한다. 설치, 설정 확인, 버그 수정, 새로운 기능, 사용자 지정 통합, 교육 그리고 Cuckoo 주변의 다양한 기능에 대한 도움을 주고 있으니 고려 바란다.
  • Cuckoo는 지역 전자 메일 솔루션IDS 시스템을 통합하여 누군가가 파일을 열어 잠재적인 유출과 데이터 손상을 받기 전에 방지하여 ransomware나 기타 잠재적인 악의적인 문제를 식별할 수 있다.
  • 우리는 다양한 컨퍼런스 (예, 암스테르담의 Hack in the Box, 라스베가스의 Blackhat & Defcon 등)에 참석할 예정이기에 이곳에서 토론할 수 있다. 

우리의 이런 활동은 사용자와 스폰서 없이는 가능하지 않았을 것이다. Cuckoo Sandbox를 사용하고 지원해 주신 모든 분들께 감사드린다.

원본 사이트


+ Recent posts