Blackboard는 보안 문제의 가시적인 부분만 아니라 문제의 근본 원인을 찾아내는 강력한 보안 프로그램을 보유하고 있습니다. Blackboard는 Blackboard와 고객의 기대치를 모두 충족시키기 위해 코드 수준(정적 분석) 및 애플리케이션 수준(동적 분석)에서 지속적인 내부 보안 테스트를 수행합니다. 더 나아가 당사 애플리케이션에 대한 새로운 시각을 주기적으로 얻기 위해 Blackboard는 타사 보안 벤더의 보안 침투 테스트를 실시합니다. 모든 식별된 문제는 신속하게 분류하여 보수됩니다.

Blackboard의 보안 프로그램은 성장하고 발전 중임을 염두에 두시기 바랍니다. Blackboard는 자사 제품의 보안 기능과 강력한 기능의 한계를 넘기 위해 지속적으로 개선하는 작업을 계속하고 있습니다.


보안을 고려한 구축

Blackboard는 클라이언트에게 안전한 애플리케이션을 제공하기 위해 노력하고 있습니다. Blackboard는 OWASP(Open Web Application Security Project) 상위 10개 취약점에 대한 구체적인 대책을 비롯하여 OWASP 등 많은 조직에서 파생된 일련의 보안 엔지니어링 지침에 따라 제품을 개발합니다. Blackboard에서는 SDLC(software development lifecycle)의 모든 단계에 이러한 보안 조치를 통합했습니다.

Blackboard는 정적 분석, 동적 분석 및 수동 침투 테스트를 통한 “하향식” 코드 수준 위협 감지뿐만 아니라 위협 모델링 및 분석을 통한 “상향식” 보안 평가를 비롯한 여러 가지 방법을 활용하여 애플리케이션을 보호합니다.

Blackboard는 자사 제품과 프로그램에 대한 보안을 강화하기 위해 다음과 같은 많은 조직의 모범 사례 지침을 따릅니다. 여기에는 그 중 일부 조직만 적었습니다.

  • NIST(National Institute of Standards and Technology)
  • ENISA(European Network and Information Security Agency)
  • SANS Institute
  • OWASP(Open Web Application Security Project)
  • CSA(Cloud Security Alliance)

위협 모델링

새로운 기능이 개발되면 보안 팀은 위험을 완화하는 데 도움을 주기 위해 위협 모델링을 수행하여 요구 사항과 시스템 설계를 평가합니다. 위협 모델링은 검토 중인 기능에 적절한 보안 위협을 식별하여 합당한 보안 대책을 식별하고 적용할 수 있는 구조화된 프로세스입니다.


보안 코딩 및 OWASP 상위 10개 취약점

Blackboard 제품은 2013년도의 OWASP 상위 10개 취약점 에 대한 구체적인 대책을 비롯하여 OWASP에서 파생된 일련의 개발 지침에 따라 개발되었습니다.

A1: 삽입(SQL/DOM/LDAP 삽입)코딩 표준은 bind 변수를 사용하고 문자가 SQL 문으로 바뀌는 것을 방지합니다. LDAP 기능은 인증으로 제한되어 있습니다.
A2: 연결이 끊어진 인증 및 세션 관리Blackboard 제품은 TLS에서만 실행되므로 모든 쿠키는 암호화됩니다.
A3: 교차 사이트 스크립팅(XSS)교차 사이트 스크립팅은 ESAPI 및 개발 표준과 같은 공유 라이브러리를 통해 완화됩니다. 모든 최종 사용자가 제출한 텍스트 입력은 바이러스 제거기 방법을 통해 전달되며 다른 종류의 모든 입력(날짜, 선택/옵션 값)은 사용자 입력에서 직접 바뀌는 대신 입력한 도메인 개체에서 생성되게 됩니다.
A4: 안전하지 않은 직접적인 개체 참조모든 애플리케이션 개체는 기본 키에 일반적으로 매핑되어 있는 “id”를 통해 참조됩니다. 그러나, 모든 개체가 매핑되고 모든 보안 확인이 “컨텍스트”를 대상으로 수행됩니다. 예를 들어, 요청은 코스의 토론방 게시물인 “메시지 id”를 참조할 수 있습니다. Blackboard 표준은 사용자 역할에 연결되어 있는 권한에 부여된 인증 확인을 수행합니다.
이 표준을 정확하게 적용하지 못한 경우, 시스템에서 보호되는 모든 데이터 엔터티가 보안 컨텍스트(코스 또는 도메인)에 매핑되므로 수정 조치는 간단합니다.
A5: 잘못된 보안 구성Blackboard는 특별한 시스템 관리자 고려 사항이 필요한 경우 활용된 릴리즈 노트 및 문서와 함께 기본적으로 보호하는 정책을 준수합니다. Blackboard는 보안 구성 모범 사례 가이드를 사용할 수 있으며 특정한 Blackboard 제품과 관련이 있는 경우, 고객에게 이 보안 구성 모범 사례 가이드를 준수하도록 권장합니다.

보안 감사
보안 이벤트는 보안에 대한 구체적인 로그에 기록됩니다.

정보 유출 및 오류 처리
표준 오류 처리는 모든 페이지에 적용되며(표준 페이지 템플릿 및 태그 라이브러리) 그 결과, 모든 오류 특히 인식할 수 없는 오류에 대한 표준 출력이 발생합니다. 표준 출력은 스택 추적(덜 민감한 정보 유출)을 포함할 수 있지만 요청이 실패할 경우 데이터가 처리되지 않으며 관리자 수준의 접속이 가능한 사용자에게만 표시됩니다. 권한이 없는 사용자(예: 학생)은 자세한 스택 추적을 확인할 수 없습니다.

A6: 민감한 데이터 노출Blackboard 표준은 SHA-160을 사용하여 사용자 비밀번호를 해시 및 솔트 처리합니다.

Blackboard 제품은 TLS에서의 실행을 지원하지만 제품이 자체 호스팅될 경우 TLS를 적절하게 구성하는 것은 배포자의 책임입니다.

A7: 기능 수준의 접속 제어 상실이 기능은 비즈니스 로직이 권한 부여 확인을 적용하도록 요청하는 수준과, QA 테스트 사례가 다양한 화면에 대한 권한 부여 요구 사항을 포함하는지 확인하는 수준의 두 가지 수준에서 관리됩니다.
A8: 교차 사이트 요청 위조(CSRF)Blackboard 보안 프레임워크는 요청별 임시 값과 POST 전용 시맨틱에 대한 OWASP 권장 사항을 준수합니다. AJAX 요청은 세션별 임시 값을 사용합니다.
A9: 알려진 취약점이 있는 구성 요소 사용이 취약점은 알려진 취약점이 있는 구성 요소를 식별하고, 패치할 수 있는 구성 요소를 업그레이드하는 로드맵 개발을 위해 Blackboard 인프라 및 타사 소프트웨어 패키지에 대한 정기적인 취약점 스캔을 수행함으로써 완화됩니다.
A10: 검증되지 않은 리디렉션 및 포워드Blackboard 보안 코딩 표준은 로컬 주소인지 여부를 확인하기 위해 리디렉션 및 포워드를 요청합니다. 이 취약점은 정기적인 테스트 대상입니다.

Blackboard에 대한 향후 기대치, 계획 및 전망에 대한 진술은 회사의 현재 관점을 나타냅니다. 실제 결과는 다양하고 중요한 요인 때문에 실질적으로 다를 수 있습니다. 회사는 후속 이벤트 및 개발로 인해 회사의 관점이 바뀔 수 있다고 예상합니다. 단, 회사가 앞으로 특정 시점에 이러한 진술을 업데이트하기로 선택할 수 있지만 회사에는 업데이트를 수행해야 할 구체적인 의무 사항이 없습니다.