블로그 이미지

my hiding place

삶이 힘들 때, 조금이라도 고개를 들고 위를 보세요. 푸른 하늘이 당신을 맞이해줄 날이 있을 테니까. by nulonge


'보안기능성'에 해당되는 글 1건

  1. 2008.11.28 비평가 대상 VS 비보안 기능

비평가 대상 VS 비보안 기능

지금은 점심시간입니다. 점심을 후딱 먹어치우고 앉아 있는 현재 시각은 2008년 11월 28일 12시 12분. (12.12사태?) 아, 우리회사의 점심 시간은 11시부터랍니다. :-)

이달 말이면 그동안 진행하던 CC 인증 프로젝트를 종료합니다. 이미 제 손을 다 떠났기 때문에 인증기관의 승인만 기다리고 있는 상태죠. 저는 벌써 또 다른 CC 인증 프로젝트를 준비중입니다.

평가의 시작은, 먼저 TOE, 즉 평가대상(Target of Evaluation)를 정의하는데서 시작합니다. 근데, 고민입니다. 이미 제품은 (이미  일년 전에) 개발완료된 상태이기 때문에, 평가 대상이 될 제품은 명확합니다. 동작상의 오류도 없고, 제품으로써는 명쾌하지만, TOE 개념 잡기는 어렵습니다. 왜냐면...

제품에서 평가받을 기능과 평가 받지 않을 기능을 먼저 정의해야 하는데 이게 쉽지 않기 때문입니다. 평가받을 기능은 "보안 기능성(Security Functionality)"을 제공하는 녀석이고, 평가에서 배제할 기능은 "비평가 대상", 혹은 "비보안기능"이 될 겁니다. 그런데, 좀 "보안 기능성"과 "비평가 대상"을 구분하는 기준이 모호하지 않은가요? 인증을 준비하면서 문서를 작성하다보면 비평가 대상과 비보안 기능의 모호한 경계에 존재하는 것들이 나타나서 괴롭히곤 합니다.

보안 기능성의 반대말은 비보안 기능성일테고, 비평가 대상의 반대말은 평가 대상이죠. 그래서 나름대로 개념을 정리해보려고 합니다.

먼저, TOE 입니다. 말 그대로 평가의 대상이죠. 그럼 무엇이 평가의 대상일 수 있겠느냐? CC에서 정의한 용어로는 "(이용) 가능한 설명서가 수반되는 소프트웨어, 펌웨어 및/또는 하드웨어 집합"이라고 합니다만, 이렇게 정의 내리면 너무 모호해집니다. 그래서, 저는 TOE란, "PP 또는 ST에 명시된 보안기능요구사항을 제공하는 소프트웨어, 펌웨어 및/또는 하드웨어와 및 관련 설명서"로 정의하려고 합니다. (이건 공식적인 정의가 아니므로 어디가서 이렇다 라고 이야기하지는 마세요.)

그 다음으로는 비평가 대상입니다. 비평가 대상을 영어로 정의한다면, "Non-TOE"가 맞을 것 같습니다. (우리 팀에서는 무의식적으로 'Out of Scope'이라고 표현 하는데 좀... 맞지 않는 말이라는 생각이 듭니다.) 비평가 대상이란, 평가 범위에서 배제된 소프트웨어, 펌웨어 및/또는 하드웨어이겠네요. 왜 배제될까요? 이건 아마도 TOE가 운영되는 환경 또는 IT 실체로 존재하는 것들을 지칭하기 때문이라고 봐야 합니다. 환경에 속하는 것들은 CC 인증의 평가 대상이 아닙니다. 그럼에도, 비평가 대상이라 하더라도, IT 환경에 요구되는 보안기능요구사항이 PP 또는 ST에 명시되어 있다면, 이것을 만족시켜야 한다는 것에 주의해야 합니다. (물론, 가정사항으로써 안전하다고 간주합니다.)

세번째로는, 보안 기능성입니다. CC 2.3에서는 "Security Function"으로 표기했지만, CC 3.1에서는 "Security Functionality"로 바뀌었습니다. 원어민이 아니어서 둘 사이에 어떤 차이가 있는지 뉘앙스는 모릅니다. 그런데 이상하게도, CC 용어 정의 부분에 보안 기능성을 정의해놓지 않았습니다! 작성자가 졸았던 걸까요? 뭐, 아쉬운 사람이 뭔가 해야겠지요. 저는 나름대로 이렇게 정의해봅니다: 보안기능성은 CC 파트 2에 정의된 보안기능요구사항(SFR, Security Functional Requirement)으로 추적이 되는 기능이다. (관건은 SFR을 얼마나 잘 이해하는지에 달려있겠습니다.) CC에서, 보안 기능성을 TOE의 보안 기능성과 IT 환경의 보안 기능성으로 구분했던가요? 보안 기능성은 TOE에게 요구되는 것일 겁니다. (CC 뒤적이면 되는데...)

보안 기능성을 정의할 때는 SFR이 기준이 된다고 했는데, CC 파트2는 너무나 많은 SFR로 구성된 일종의 라이브러리이기 때문에, 이 모든 SFR을 사용할 수는 없습니다. 그건 지옥이지요. 그래서, 보안 기능성을 정의할 때 사용되는 보안기능요구사항은 TOE에 대해 정의한 PP 또는 ST에서 사용된 것으로 한정합니다. (아... CC 인증을 이야기 할 때는 모든 것이 꼬리에 꼬리를 뭅니다. 아... -_-;)

네번째로는, 비보안 기능성입니다. 보안 기능성을 제 나름대로 정의해보았으니, 비보안 기능성은 그 반대라고 생각해볼 수 있을 겁니다. SFR로 추적이 되지 않는 기능성입니다. 분명히, TOE의 기능이기는 한데, PP 또는 ST에 명시된 SFR로 추적이 되지 않습니다. 이러한 것들이 비보안 기능성들입니다.

자, 그럼, 한가지만 물어보고 싶습니다. TOE는 보안 기능성만을 제공할까요?

아니죠? TOE를 구성하는 모든 소프트웨어, 펌웨어, 하드웨어가 오직 보안 기능만을 제공하지는 않습니다. (드물지만 그럴 수도 있겠죠.) 그럼, 물리적으로는 분명히 TOE의 영역인데, 논리적으로는 전혀 보안기능성과 무관한 것들은 어떻게 해야하는 걸까요? 이것들은 비평가 대상일까요? 아니면 비보안 기능일까요? 제가 무언가 놓친 것이 분명합니다...

CC 3.1은 TOE에서 제공하는 기능과 인터페이스를 크게 셋으로 나눕니다. "SFR-수행(SFR-enforcing)", "SFR-지원(SFR-supporting)", "SFR-비간섭(SFR-non-interfering)"이 그것이죠. 이름 붙인 그대로, 모든 기준은 SFR로 추적이 되느냐, SFR을 구현하는데 기여하느냐 입니다. SFR이 기준입니다! 이제, TOE의 모든 기능이 보안기능성이 아니라는 것은 자명합니다. CC에서도 인정하잖아요.

그런데, SFR을 수행하는 것으로 생각되지만, 평가에서 제외되는 것들이 있습니다. 이런 것들은 무엇이라고 해야 할까요? 참 헷갈립니다. 예를 들면, 안티바이러스 엔진 같은 겁니다. 안티바이러스 엔진을 다른 업체에서 라이선스로 공급받아 사용하는 업체들이 몇 있습니다. 알약이나, 네이버 PC 그린이나 모두 스스로 개발한 안티바이러스 엔진을 사용하지 않고 라이선스 받아서 공급받는 겁니다. (방화벽 업체에서도, 안티바이러스 엔진을 공급받아서 탑재하는 경우가 흔합니다.) 이스트소프트나 네이버에서 자기네 안티바이러스 제품을 CC 인증 받고 싶어도, 자신들이 개발하지 않았기 때문에 소스도 없고, 평가자에게 안티바이러스 엔진과 안티바이러스 DB의 평가에 필요한 보증문서를 제출할 수 없습니다. 방화벽 업체들도 마찬가지지요. 방화벽이 아무리 안티바이러스 기능을 제공한다고 하더라도, 보증할 수 있는 수준은 안티바이러스 엔진과 연결된 인터페이스 수준까지에 불과합니다. 이런 것들은 무엇이라고 불러야 할까요? 비평가 대상? 비보안기능? 아니면 그냥 평가 범위에서 제외(Out of Scope)? 아... 고민입니다. 누가 이런 사례를 설명해주실 분이 있으면 좋겠습니다.

저는 다시 고민의 수렁속으로 빠져듭니다. 다들 즐거운 주말 되세요.
Comment 0 Trackback 0
Top

prev 1 next