# ANC의 "Vula" 비밀 암호 코드 오픈 소스를 위한 오래된 ZIP 파일 해킹

> Clean Markdown view of GeekNews topic #16667. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16667](https://news.hada.io/topic?id=16667)
- GeekNews Markdown: [https://news.hada.io/topic/16667.md](https://news.hada.io/topic/16667.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-09-08T23:34:14+09:00
- Updated: 2024-09-08T23:34:14+09:00
- Original source: [blog.jgc.org](https://blog.jgc.org/2024/09/cracking-old-zip-file-to-help-open.html)
- Points: 2
- Comments: 1

## Topic Body

#### 오래된 ZIP 파일 해독하여 ANC의 "Operation Vula" 비밀 암호 코드 오픈 소스화

- 최근 30년 된 PKZIP 파일의 암호를 해독하여 남아프리카 공화국의 아파르트헤이트 시스템을 무너뜨리는 데 중요한 역할을 한 ANC의 "Operation Vula" 암호 코드를 분석함
- Operation Vula는 1980년대 후반 ANC 지도자들을 남아프리카로 침투시키고 지하 네트워크를 구축하는 작전이었음
- 이 작전은 8비트 컴퓨터, DTMF 톤, 음향 커플러 등을 사용하여 일회용 패드로 암호화된 메시지를 교환하는 방식으로 이루어졌음

##### 암호화 시스템의 오픈 소스화
- Tim Jenkin이 암호화 시스템의 원본 코드를 오픈 소스화함
- Tim은 1991년 남아프리카로 돌아가기 전 모든 소스 코드를 암호화된 ZIP 파일로 압축했으나, 암호를 잊어버림
- 필자는 Tim의 요청에 따라 ALLBAS.ZIP과 CODMAY93.ZIP 파일을 해독하기로 함

##### ZIP 파일 해독 과정
- 당시 ZIP 형식에서 사용된 ZipCrypto 알고리듬에 대한 알려진 평문 공격을 활용함
- bkcrack이라는 오픈 소스 구현체를 사용하여 ZIP 파일의 특정 위치에서 12바이트의 평문을 예측함
- Tim이 제공한 다른 버전의 OLDCOD.ZIP 파일에서 첫 번째 파일 이름이 COMKEY.BAS임을 확인하고, 이를 통해 평문을 생성하여 공격을 시도함
- 23분 후 bkcrack이 ALLBAS.ZIP 파일의 키를 찾아내고, 같은 키로 CODMAY93.ZIP 파일도 해독함

##### 프로그램 실행
- 두 개의 프로그램을 DOSBox에서 컴파일하고 실행함
- RANDOM.BAS는 일회용 패드로 사용할 랜덤 숫자 디스크를 생성하고, TECOD.BAS는 이메일을 통해 메시지를 암호화하고 해독하는 프로그램임
- 프로그램의 비밀번호는 TIMBOBIMBO로 설정되어 있음

##### GN⁺의 정리
- 이 글은 ANC의 비밀 암호 코드를 해독하여 오픈 소스화하는 과정을 다룸
- 역사적으로 중요한 암호화 시스템을 복원하고 분석하는 데 흥미를 느낄 수 있음
- 비슷한 기능을 가진 프로젝트로는 PGP(Pretty Good Privacy)와 GnuPG(GNU Privacy Guard)가 있음

## Comments



### Comment 28708

- Author: neo
- Created: 2024-09-08T23:34:15+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41474828) 
- Vula 시스템의 사용성 부족이 실패의 원인이었음
  - 자유를 위해 싸우는 헌신적인 활동가들이 있었지만 시스템을 제대로 사용하지 못했음
  - 문서를 암호화하지 않고 남겨둠
  - 키가 쉽게 얻어질 수 있었음
  - 소프트웨어가 너무 번거로워서 중요한 통신을 암호화하지 않고 보냈음
  - PGP 설정과 올바른 사용이 매우 어려움
  - 보안은 사용성임
  - Vula에 대해 더 자세히 쓴 글이 있음: [링크](https://shkspr.mobi/blog/2014/01/the-hardest-problem-in-encryption-usability/)

- 보안 일회용 패드를 위한 숫자 생성기를 살펴봤음
  - Melissa O'Neil이 자랑스러워할 만한 거의 pcg 수준임
  - Powerbasic 시스템 Rand LCG를 사용하여 3개의 새로운 rand1-3 함수로 전환함
  - 두 개는 다른 LCG를 사용함
  - [코드 링크](https://github.com/Vulacode/RANDOM/blob/d6a1a1d694b22e6a115b50a6c2d2bada41cda075/RANDOM.BAS#L306)

- 남아프리카에서 많은 일을 겪었음
  - GNU가 종말 시계를 되돌리기를 바람
  - 추천 - Action Kommandant: Ashley Kriel의 삶을 엿볼 수 있는 다큐멘터리

- TIMBOBIMBO 하하하하

- Operation Vula에 대해 언급
  - 8비트 컴퓨터, DTMF 톤, 음향 커플러 사용
  - CIA/NSA가 Philips PX-1000을 사용한 Operation Vula를 알아챔
  - DES가 내장된 제품을 필립스를 뇌물로 매수하여 백도어를 설치함
  - [링크](https://www.cryptomuseum.com/crypto/philips/px1000/)

- [flagged]

- "오래된" ZIP을 해독하려면 아카이브의 몇 글자를 알고 있을 때 가장 좋은 도구는 bkcrack임
  - [링크](https://github.com/kimci86/bkcrack)
