1 |
1
특정 암호지갑에서 사용되는 암호 모듈의 취약점을 분석하기 위해 암호 알고리즘, 난수발생기 엔트로피값 및 키 유도 함수 중 적어도 하나에 취약점이 존재하는지 확인하고 확인 결과를 이용하여 암호 모듈 취약 정보를 출력하는 암호 모듈 취약점 분석부;상기 암호지갑의 기능의 취약점을 분석하기 위해 사용자 패스워드 허용 조건, 사용하고 있는 블록체인 프로토콜 버전, 비트코인 기능 개선 표준 문서(BIP) 버전 및 개인 키 보관 방법 중 적어도 하나에 상기 암호지갑 기능의 취약점이 존재하는지를 판단하고, 판단 결과로 암호지갑 취약 정보를 출력하는 암호지갑 취약점 분석부; 및상기 암호지갑에 대한 기타 취약 여부를 판단하기 위해 KISA의 개발 보안 가이드라인에 따라 취약점을 판단하고, 판단 결과로 기타 구현 취약 정보를 생성하는 기타 구현 취약점 분석부;를 포함하며,상기 암호 모듈 취약 정보, 상기 암호지갑 취약 정보 및 상기 기타 구현 취약 정보는 각각 치명(Critical) 신호, 주의(Warning) 신호 및 정상(Normal) 신호 중 어느 하나로 표현되는 3단계 신호로 출력되고,적어도 하나의 치명 신호 또는 주의 신호가 표현되는 경우, 표현되는 상기 신호에 해당 신호에 대한 세부 정보를 포함하는 암호지갑 취약점 탐색 시스템
|
2 |
2
제 1항에 있어서,상기 암호 모듈 취약점 분석부는,상기 암호 알고리즘의 취약 여부를 판단하기 위해 상기 암호 알고리즘이 국제 암호 알고리즘 표준 조건을 만족하는지 판단하고, 판단 결과에 따라 알고리즘 판단 신호를 알고리즘 정상 신호 또는 알고리즘 비정상 신호 중 어느 하나로 출력하는 암호 알고리즘 취약여부 판단 모듈;상기 난수발생기의 취약 여부를 판단하기 위해 사용자로부터 함수를 직접 입력받거나 윈도우 데이터(window data)를 기반으로 최상위 1바이트를 추출하는 상기 난수발생기가 256비트의 엔트로피를 만족하는지 확인하고, 확인 결과에 따라 난수발생기 확인 신호를 난수발생기 정상 신호 또는 난수발생기 비정상 신호 중 어느 하나로 출력하는 난수발생기 엔트로피값 확인 모듈; 및상기 키 유도 함수의 취약 여부를 판단하기 위해 상기 키 유도 함수가 pbkdf2 또는 scrypt 방식을 만족하는지 평가하고, 평가 결과에 따라 키 유도 함수 평가 신호를 키 유도 함수 정상 신호 또는 키 유도 함수 비정상 신호 중 어느 하나로 출력하는 키 유도 함수 평가 모듈;을 포함하며,상기 암호 모듈 취약 정보는 출력되는 상기 알고리즘 판단 신호, 상기 난수발생기 확인 신호 및 상기 키 유도 함수 평가 신호 중 적어도 하나를 포함하는 암호지갑 취약점 탐색 시스템
|
3 |
3
제 1항에 있어서,상기 암호지갑 취약점 분석부는,상기 사용자 패스워드 허용 조건의 취약 여부를 판단하기 위해 상기 암호지갑에서 허용하는 상기 사용자 패스워드 허용 조건이 기 설정된 암호화 기준을 만족하는지 확인하고 확인 결과에 따라 패스워드 조건 확인 신호를 패스워드 조건 정상 신호, 패스워드 조건 주의 신호 또는 패스워드 조건 비정상 신호 중 어느 하나로 출력하는 사용자 패스워드 허용 조건 확인 모듈;상기 암호지갑에서 사용하는 상기 블록체인 프로토콜 버전의 취약 여부를 판단하기 위해 상기 블록체인 프로토콜의 버전이 최신 버전인지 점검하고, 점검 결과에 따라 프로토콜 버전 점검 신호를 프로토콜 버전 정상 신호, 프로토콜 버전 주의 신호 또는 프로토콜 버전 비정상 신호 중 어느 하나로 출력하는 통신 프로토콜 버전 점검 모듈;상기 암호지갑에서 사용하는 상기 BIP에 대한 취약 여부를 판단하기 위해 상기 BIP 버전을 최신 문서 버전과 비교하고, 비교 결과에 따라 BIP 버전 비교 신호를 BIP 버전 정상 신호 또는 BIP 버전 주의 신호 중 어느 하나로 출력하는 BIP 버전 비교 모듈; 및상기 암호지갑에서 사용하는 상기 개인 키 보관 방법의 취약 여부를 판단하기 위해 상기 개인 키 보관 방법이 기 설정된 보안 기준을 만족하는지를 확인하고, 확인 결과에 따라 개인 키 보관 방법 신호를 보관 방법 정상 신호, 보관 방법 주의 신호 또는 보관 방법 비정상 신호로 출력하는 개인 키 보관 방법 확인 모듈;을 포함하며,상기 암호지갑 취약 정보는 상기 패스워드 조건 확인 신호, 상기 프로토콜 버전 점검 신호, 상기 BIP 버전 비교 신호 및 상기 개인 키 보관 방법 신호 중 적어도 하나를 포함하는 암호지갑 취약점 탐색 시스템
|
4 |
4
제 1항에 있어서,상기 기타 취약점 분석부는,상기 암호지갑의 개발 언어 종류를 획득하여 해당 개발 언어 종류에 대해 상기 KISA 개발 보안 가이드 라인을 만족하는 시큐어 코딩이 수행되었는지 판단하고, 판단 결과에 따라 개발 언어 보안 신호를 개발 언어 정상 신호, 개발 언어 주의 신호 또는 개발 언어 비정상 신호 중 어느 하나로 출력하는 개발 언어 시큐어 코딩 판단 모듈;상기 KISA 개발 보안 가이드라인 중 환경 특화 취약점 정보를 획득하고, 상기 암호지갑 개발 환경에서의 취약점을 검토하며, 검토 결과에 따라 환경 특화 신호를 환경 특화 정상 신호, 환경 특화 주의 신호 또는 환경 특화 비정상 신호 중 어느 하나로 출력하는 환경 특화 취약점 검토 모듈; 및상기 KISA 개발 보안 가이드라인 중 외부 패키지 보안 기준을 획득하고, 상기 암호지갑의 외부 패키지의 보안 수준이 상기 외부 패키지 보안 기준을 만족하는지 확인하며, 확인 결과에 따라 패키지 보안 신호를 패키지 보안 정상 신호, 패키지 보안 주의 신호 또는 패키지 보안 비정상 신호 중 어느 하나로 출력하는 외부 패키지 보안성 확인 모듈;을 포함하며,상기 기타 구현 취약 정보는 상기 개발 언어 보안 신호, 상기 환경 특화 신호 및 상기 패키지 보안 신호 중 적어도 하나를 포함하는 암호지갑 취약점 탐색 시스템
|
5 |
5
특정 암호지갑에서 사용되는 암호 모듈의 취약점을 분석하기 위해 암호 모듈 취약점 분석부를 이용하여 암호 알고리즘, 난수발생기 엔트로피값 및 키 유도 함수 중 적어도 하나의 취약점을 확인하고 확인 결과를 이용하여 암호 모듈 취약 정보를 출력하는 단계;상기 암호지갑의 기능의 취약점을 분석하기 위해 암호지갑 취약점 분석부를 이용하여 사용자 패스워드 허용 조건, 사용하고 있는 블록체인 프로토콜 버전, 비트코인 기능 개선 표준 문서(BIP) 버전 및 개인 키 보관 방법 중 적어도 하나를 이용하여 상기 암호지갑 기능의 취약 여부를 판단하고, 판단 결과로 암호지갑 취약 정보를 출력하는 단계; 및상기 암호지갑에 대한 기타 취약 여부를 판단하기 위해 기타 구현 취약점 분석부를 이용하여 KISA의 개발 보안 가이드라인에 따라 취약점을 판단하고, 판단 결과로 기타 구현 취약 정보를 생성하는 단계;를 포함하며,상기 암호 모듈 취약 정보, 상기 암호지갑 취약 정보 및 상기 기타 구현 취약 정보는 각각 치명(Critical) 신호, 주의(Warning) 신호 및 정상(Normal) 신호 중 어느 하나로 표현되는 3단계 신호로 출력되고,적어도 하나의 치명 신호 또는 주의 신호가 표현되는 경우, 표현되는 상기 신호에 해당 신호에 대한 세부 정보를 포함하는 암호지갑 취약점 탐색 방법
|