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 제품은 OWASP에서 파생된 일련의 개발 가이드라인(예: 2013년의 OWASP 상위 10개 취약점에 대한 구체적인 대책)에 따라 개발되었습니다.

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 보안 코딩 표준은 로컬 주소인지 여부를 확인하기 위해 리디렉션 및 포워드를 요청합니다. 이 취약점은 정기적인 테스트 대상입니다.

이전의 OWASP 상위 10개 취약점 범주

악성 파일 실행권한 없는 최종 사용자가 업로드한 파일은 실행 파일로 사용되지 않습니다. 그러나 권한 있는 사용자(예: 시스템 관리자)는 시스템 기능을 확장하는 '빌딩 블록'이라는 실행할 수 있는 패키지를 업로드할 수 있습니다. 시스템 관리자는 타사 빌딩 블록 설치와 관련하여 위험을 이해하고 적절한 공급업체 검토 및 변경 관리 관행을 준수할 것으로 기대됩니다.

Blackboard에 대한 향후 기대치, 계획 및 전망에 대한 진술은 회사의 현재 관점을 나타냅니다. 실제 결과는 다양하고 중요한 요인 때문에 실질적으로 다를 수 있습니다. 회사는 후속 이벤트 및 개발로 인해 회사의 관점이 바뀔 수 있다고 예상합니다. Blackboard에서는 나중에 언젠가 그러한 진술을 업데이트할 수 있지만, 엄밀히 말하자면 Blackboard에 그렇게 해야 할 의무가 있는 것은 아닙니다.


취약점 관리 조치 및 공개 정책

Blackboard의 취약점 관리 프로그램에는 아래의 공개 취약점 관리 조치 및 공개 정책이 적용됩니다. 완벽한 소프트웨어 공급업체는 없습니다. 릴리즈된 제품에서 보안 취약점이 확인될 경우 Blackboard 보안 팀은 그에 대응할 준비가 되어 있습니다.

로그인과 관련하여 도움이 필요하면 교육기관의 IT Help Desk에 문의하십시오. Blackboard에는 교육기관의 계정 정보, 웹 사이트 또는 콘텐츠에 대한 접근 권한이 없습니다. Help Desk에 문의하는 방법을 모르는 경우 웹에서 해당 교육기관의 이름 + Help Desk를 검색하거나 로그인 페이지에서 지원 링크 또는 연락처 정보를 확인하십시오.

Blackboard에서는 보안 취약점을 빠르고 신중하게 해결하기 위해 노력하고 있습니다. 이러한 취약점 해결은 고객에게 필요한 제품 업데이트 또는 보안 공지의 릴리즈로 이어질 수 있습니다. 고객과 고객의 데이터를 보호하기 위해 Blackboard에서 취약점을 조사하고 그에 대응할 수 있도록 취약점을 책임감 있게 비공개적으로 보고해 주시기 바랍니다. 취약점은 Blackboard에서 제품 업데이트를 개발하여 철저히 테스트하고 라이선스가 있는 고객에게 제공할 때까지 공개되어서는 안 됩니다.

Blackboard의 제품은 다양한 하드웨어 및 소프트웨어 구성에서 실행되며 많은 타사 애플리케이션에 연결되는 등 복합적입니다. 그 규모가 어떻든지 소프트웨어를 수정할 때는 항상 여러 제품군 및 버전 전반에 걸쳐 철저한 분석을 진행하고 개발 및 구현해야 합니다. 또한 소프트웨어는 해당 범위, 복합성 및 심각도에 알맞은 현지화, 접근성 및 테스트를 거쳐야 합니다. Blackboard의 제품은 고객에게 매우 중요하기 때문에 Blackboard에서는 제품이 테스트 설비뿐만 아니라 고객 환경에서도 올바르게 작동하는지 확인해야 합니다. 따라서 Blackboard에서는 정해진 일정에 따라 제품 업데이트를 제공할 수는 없어도, 신속하게 업데이트를 제공하기 위해 최선을 다하고 있습니다.

악의적인 당사자는 리버스 엔지니어링의 게시된 보안 공지 및 제품 업데이트를 통해 소프트웨어 취약점을 악용하는 경우가 많습니다. 따라서 고객이 소프트웨어를 즉시 업데이트하고 Blackboard의 심각도 등급 시스템을 참고하여 업그레이드를 더 적절한 시기에 적용하는 것은 매우 중요합니다. 그러므로 취약점에 대해 공개적으로 토론하는 것은 고객에게 제품 업데이트가 제공된 이후여야만 합니다.

보안 취약점에 대한 테스트

데이터 및 서비스에 대한 위험을 최소화하기 위해 제품의 비프로덕션 인스턴스에 대해 모든 취약점 테스트를 수행해야 합니다.


취약점을 보고하는 방법

취약점 제출 양식을 작성하여 잠재적인 취약점에 대한 세부 정보를 비공개적으로 공유해 주십시오.

Blackboard 보안 팀에서 문제를 빠르게 확인하고 재현할 수 있도록 잠재적인 취약점에 대한 세부 정보를 제공해 주시기 바랍니다. 위의 정보가 없으면 잠재적인 취약점을 해결하는 것이 불가능하지는 않더라도 어려울 수 있습니다. 수많은 잠재적인 취약점이 세부 정보 없이 나열된 보고서는 추가 정보가 없는 한 처리되지 않습니다. 제공되어야 하는 세부 정보는 다음과 같습니다.

  • 취약점의 유형
  • 정보가 게시되었는지 또는 다른 당사자와 공유되었는지 여부
  • 영향을 받는 제품 및 버전
  • 영향을 받는 구성
  • 문제를 재현하기 위한 단계별 안내 또는 개념 증명 코드

Blackboard의 보안 조치

Blackboard에서는 이 정책을 준수하는 모든 취약점 보고자에게 다음과 같은 서비스를 제공합니다.

  • 보고 내용을 수신하였음을 확인해 줍니다.
  • 적시에 조사를 진행하여 가능한 경우 잠재적인 취약점을 확인합니다.
  • 해당하는 경우 취약점 해결을 위한 계획 및 기간을 제공합니다.
  • 취약점이 해결되었음을 취약점 보고자에게 알립니다.

보고에 대한 포상

Blackboard에서는 취약점 보고에 대한 포상 프로그램이 없기 때문에 보안 취약점 보고에 대해 표창 또는 보상을 제공하지 않습니다.