💹 전자금융 보안 모의해킹 · HTS 실행 파라미터 재사용
Target: HTS 데스크톱 클라이언트
평가기준: 위험도 5 HTS-FIN 실행 파라미터 재사용 방지
평가기준: 위험도 5 HTS-FIN 실행 파라미터 재사용 방지
💡 쉽게 말하면
HTS 실행 열쇠(파라미터)를 재사용할 수 있으면, 명령줄에서 주운 열쇠로 남의 계정에 그냥 들어갑니다. 열쇠는 일회용이어야 합니다.
HTS 실행 열쇠(파라미터)를 재사용할 수 있으면, 명령줄에서 주운 열쇠로 남의 계정에 그냥 들어갑니다. 열쇠는 일회용이어야 합니다.
🔓 공격 시뮬레이션 (Red Team)
🛡️ 대응 방안 (Blue Team)
HTS 구동 파라미터🔒 Secured Channel
HTS가 웹 연동 로그인 후 실행 파라미터(세션키 등)로 데스크톱 클라이언트를 구동할 때, 그 파라미터가 재사용 가능하면 노출된 값으로 별도 인증 없이 타인 HTS 계정에 로그인할 수 있습니다. 명령줄에 중요정보가 평문 노출되기도 합니다.
⚡ 실행 파라미터 재사용
명령줄에서 추출한 sessionKey 재구동
명령줄에서 추출한 sessionKey 재구동
OFF
🖥️ 금융 시스템 처리 로그
[SYSTEM] Core Banking Channel ready.
[INFO] 거래 요청 대기 중...
⚖️ 컴플라이언스 위반 분석
공격 실행 후 분석 결과가 표시됩니다.
[심각] 전자금융 보안 기준 위반 감지
- 평가기준 [전자금융] HTS 구동시 실행 파라미터 재사용 방지(위험도 5)
- 명령줄 내 중요정보 평문 노출 방지 위반
- 불충분한 세션 관리
🛡️ 대응 코드/설정 실습
실행 파라미터는 일회성·단말/세션 바인딩·짧은 유효시간이어야 하며, 명령줄 평문 노출을 피하고 서버에서 재사용을 거부해야 합니다.
📚 금융보안원 평가기준 / 조치 가이드
1. 점검 항목
단말 보안 > HTS 실행 파라미터 재사용 방지2. 위험 분석
- 노출 파라미터로 무인증 타인 계정 로그인
- 명령줄 평문 중요정보 노출
3. 조치 방법
- 실행 파라미터 일회성·유효시간 적용
- 단말/세션 바인딩 및 서버 재사용 거부
- 명령줄 평문 노출 금지(보안 채널 전달)
🏗️ 현대 금융 IT 환경에서의 변형
데스크톱 앱코드서명Electron
어디가 달라졌나
HTS 는 여전히 네이티브 데스크톱이지만, 신규 개발은 Electron·웹뷰 기반으로 옮겨 가고 있습니다.
그러면서 웹 취약점이 데스크톱 권한으로 실행되는 새로운 위험이 생겼습니다 —
Electron 에서 nodeIntegration 이 켜져 있으면 XSS 하나가 곧 로컬 코드 실행입니다.
현대 스택에서의 조치
- 실행 파라미터로 인증 상태를 전달하지 않습니다. 프로세스 목록에 그대로 보이고 재사용됩니다 — 서버 세션으로 처리합니다.
- Electron 이라면
contextIsolation: true,nodeIntegration: false,sandbox: true를 기본으로 둡니다. - 실행 파일에 코드 서명을 적용하고, 자동 업데이트는 서명 검증 후 설치합니다.
// Electron 기본 보안 설정 — 이 셋이 빠지면 웹 취약점이 곧 RCE 다
new BrowserWindow({
webPreferences: {
contextIsolation: true,
nodeIntegration: false,
sandbox: true,
}
});
놓치기 쉬운 곳 — Electron 은 Chromium 을 통째로 품고 있습니다.
런타임을 갱신하지 않으면 알려진 브라우저 취약점을 그대로 안고 갑니다 —
“업데이트”는 우리 코드뿐 아니라 런타임 버전까지 포함해야 합니다.