- 전체
- 물리
- 천체물리 - 우주(과학)
- 정보 (및 수학)
- 화학
- 생물 및 의학 (건강)
- 전기전자
- 지구과학 and 환경
- 사회과학
- 기계
- ITFIND 주간 기술 동향
- 월간 ICT 동향
- 인문학(과학)
안전한 웹 애플리케이션을 쉽게 만드는 방법
2012.06.30 23:37
안전한 웹 애플리케이션을 쉽게 만드는 방법
2년 전 Blippy라는 새로운 소셜네트워크 사이트가 사용자들의 신용카드 번호를 실수로 온라인에 게시한 적이 있었다. 이것은 특별하게 안 좋은 경우이지만, 이러한 부주의한 정보들의 유출은 항상 일어나고 있다. 예를 들어 4월에 텍사스 법무장관 사무실은 시민권 그룹 정보를 1310명의 등록된 유권자들에게 전송하였다. 이것은 그들 대부분의 사회보장번호를 포함하고 있었다. 한달 전쯤에 Providence, R.I.는 약 3천명의 전직 직원들의 사회보장번호를 지역 뉴스기구에 실수로 공개하였다.
지난주 보스턴에서 열린 USENIX 연간기술 컨퍼런스(USENIX Annual Technical Conference)에서 MIT 연구자들은 이와 같이 부주의한 정보 유출을 막도록 해주는 새로운 프로그래밍 시스템을 발표하였다.
Aeolus라는 이름을 가진 이 시스템은 디자이너들을 위해 더 크고, 분산된 웹 애플리케이션을 개발하도록 디자인되었다. 그리고 자동으로 사용자의 데이터 액세스 특권을 자동으로 계속 파악하고 있다. 학계에서 이러한 시스템을 수년동안 조사해왔지만 새로운 연구를 지도하고 있는 Barbara Liskov교수 연구소는 Aeolus가 이전의 것들보다 더 사용하기 쉽다는 것을 증명해야만 한다고 말했다. 그리고 프로그래머들이 그것을 더 많이 사용하도록 만들어야 할 것이라고 주장했다.
“이것을 쉽게 만들도록 하는 것은 그것을 사람들이 사용할 가능성이 높아진다는 것을 의미한다. 그렇지 않고 어렵다면 애플리케이션 개발자들은 그것을 아마도 사용하지 않을 것이다.” 라고 2008 Turing Award에서 컴퓨터과학분야의 가장 높은 상을 받은 Liskov가 말했다.
어느 웹 애플리케이션의 사용자가 로그온할 때 그 또는 그녀는 일반적으로 사용자명과 비밀번호를 제공해야만 한다. 그러나 그러한 것들이 더 이상 애플리케이션이 실행할 수 있는 인증 체크가 되지 않고 있다. 사용자들이 은행 계좌간에 돈을 옮기거나 환자들의 의록 기록에 대한 노트를 만드는 것과 같이 새로운 애플리케이션 기능을 작동시킬 때마다 이 애플리케이션은 사용자이 적절한 인증을 했는지 증명해야한다. 이러한 확인은 은밀히 발생되어야 하지만 애플리케이션 개발자들은 여전히 그것을 프로그램해야만 한다. 만약 개발자들이 천개의 보안체크를 올바르게 제공하고 있지만, 한가지를 빠뜨렸다면 이 애플리케이션은 안전하지 못한 것이 된다.
그러므로 소프트 개발 툴이 필요로 하는 것은 자동으로 인증을 추적하는 것이다. 이전에 이러한 시스템들은 역량 모델이라고 보안 연구자들이 말하는 것을 사용했다고 Liskov가 말했다. 역량이라는 것은 소유자들이 어떤 정보를 액세스하도록 인증 받는 입장 티켓과 같은 것이다. 웹 애플리케이션에서 다른 기능은 자신만의 티켓을 요구한다는 것이다. 사용자가 기능들을 작동시키려고 할 때 애플리케이션이 그 또는 그녀가 적합한 티켓을 가지고 있는지를 간단히 확인하게 된다.
기술적으로 이러한 방법은 완벽히 실현 가능하지만 실질적으로 프로그래머들이 그것에 관하여 생각하는 것은 힘들다고 Liskov가 말했다. 프로그래머는 보안 검사 또는 티켓 배분을 위한 코드를 작성하지 않는다. 그러나 그 또는 그녀가 어떤 티켓 또는 어떤 상황을 받아들여야 하는지에 관한 규칙을 지켜야만 한다. 그리고 특정한 규칙 선택에 대한 영향은 찾아내기 어려울 수 있다.
Liskov가 그녀의 대학원생이었던 Winnie Cheng, 현재 대학원생인 Dan Ports, David Schultz, James Cowling 과 Stanford대학, Princeton대학 및 Brandeis대학의 동료들과 함께 개발한 Aeolus는 인증이라는 것에 대하여 더 사용하기 쉬운 방법을 제공해준다. 티켓이라는 규칙을 제공하는 대신에 프로그래머는 시스템 사용자에 대한 계층을 간단히 기술하게 된다. 예를 들어, 의학 데이터 시스템에서 진단 정보는 환자들의 기초 주치의들에게 유용할 수 있다. 그러나 진료했던 정보와 예약 시간은 행정직원들이 통제하고 있다. 사용자의 로그인 공개키는 계층에서 특정층을 차지하고 있는 것을 통하여 그녀를 감지하게 된다. 그리고 Aeolus는 그 나머지를 담당하게 된다.
다른 이점들 중에서 계층적 방법은 액세스 권한을 취소하기 쉽게 만들어준다. 예를 들어, 병원을 옮긴 의사들은 주 전체의 의학 데이터베이스를 액세스할 필요가 있다. 그러나 이전 환자의 개인적인 정보를 더 이상 볼 수 없어야 한다. 역량 모델을 가지게 되면 이것은 의사들의 티켓의 폐지가 수반되어야 하지만, Aeolus는 의사들을 계층의 낮은 단계로 간단히 강등시킨다.
그러나 사용하기 쉬운 시스템을 만들기 위해서 복잡한 시스템이 필요하다. Aeolus는 보안을 유지하기 위해 백그라운드에서 동작하는 중요한 몇가지 매커니즘들을 포함하고 있다. 사용자들이 웹 애플리케이션에 로그인할 때 애플리케이션은 사용자들이 실행한 모든 거래를 추적할 필요가 있다. 기록들이 지속적으로 업데이트되어지기 때문에 이것은 고속이며, 쉽게 액세스 가능한 메모리에 저장되어진다. 거래기록에 대한 어떤 데이터도 같은 애플리케이션의 다른 사용자 또는 같은 서버에서 구동되는 다른 애플리케이션에 누설되지 않는다는 것을 Aeolus가 보장하고 있다. 유사하게 인증 계층에서 높이 있는 어떤 사람은 권한이 있는 데이터를 분석하기 위해서 프로그래머가 만든 소프트웨어(third-party software)를 사용하기를 원한다. Aeolus는 사용자 인증이 소프트웨어에 전달되지 않는다는 것을 자동으로 보장해준다. 이 소프트웨어가 데이터를 조작할 수는 있지만 외부로 누설할 수는 없다.
확실히 이것은 Aeolus에 대한 중요한 점을 언급하는 것이다. 이것은 데이터 액세스가 아닌 정보 흐름을 제어하는 시스템이다. 즉, 계층의 아래쪽에 있는 사람들은 컴퓨터 스크린에서 권한이 있는 정보를 볼 수 있지만. 워드 프로세서문서에 복사하거나 온라인에 게시하는 것과 같은 어떤 다른 것들을 할 수는 없다.
“정보 흐름 방법이라는 이러한 두가지 방법을 연구하고 있는 사람들은 액세스 제어 방법과 비교하여 애플리케이션을 개발하기 쉽다는 것에 믿음을 가지고 있다.” 라고 Liskov가 말했다. 악의적인 사용자들은 여전히 개인적인 정보를 공개할 수 있는 방법을 여전히 찾고 있다. 그러나 “현재 가장 큰 문제는 단순한 에러라는 사실이다.” 라고 Liskov가 말했다.
“강력한 보안이라는 관점에서의 잇점은 명백하다. 그러나 이것은 일종의 비용혜택적 분석이다. 대부분의 개발자들을 위해 현재의 방법을 변경하는 비용은 변환하고 싶어하지 않는 것만큼이나 높다.” 라고 Cornell대학 컴퓨터과학과 Andrew Myers가 말했다. 그러나 “Aeolus를 가진다면 훨씬더 직감적인 방법으로 보안정책을 지정할 수 있다. 해지에 대한 관리도 또한 이전 연구보다 좀더 수준이 높아졌다.” 라고 Myers가 말했다.
이와 같은 향상들은 개발자들이 이러한 시스템을 사용할 수 있도록 충분히 낮은 가격이 될 수 있을 것이라고 Myers가 말했으며 언젠가 중요한 정점을 찍게 될 것이라고 덧붙였다.
지난주 보스턴에서 열린 USENIX 연간기술 컨퍼런스(USENIX Annual Technical Conference)에서 MIT 연구자들은 이와 같이 부주의한 정보 유출을 막도록 해주는 새로운 프로그래밍 시스템을 발표하였다.
Aeolus라는 이름을 가진 이 시스템은 디자이너들을 위해 더 크고, 분산된 웹 애플리케이션을 개발하도록 디자인되었다. 그리고 자동으로 사용자의 데이터 액세스 특권을 자동으로 계속 파악하고 있다. 학계에서 이러한 시스템을 수년동안 조사해왔지만 새로운 연구를 지도하고 있는 Barbara Liskov교수 연구소는 Aeolus가 이전의 것들보다 더 사용하기 쉽다는 것을 증명해야만 한다고 말했다. 그리고 프로그래머들이 그것을 더 많이 사용하도록 만들어야 할 것이라고 주장했다.
“이것을 쉽게 만들도록 하는 것은 그것을 사람들이 사용할 가능성이 높아진다는 것을 의미한다. 그렇지 않고 어렵다면 애플리케이션 개발자들은 그것을 아마도 사용하지 않을 것이다.” 라고 2008 Turing Award에서 컴퓨터과학분야의 가장 높은 상을 받은 Liskov가 말했다.
어느 웹 애플리케이션의 사용자가 로그온할 때 그 또는 그녀는 일반적으로 사용자명과 비밀번호를 제공해야만 한다. 그러나 그러한 것들이 더 이상 애플리케이션이 실행할 수 있는 인증 체크가 되지 않고 있다. 사용자들이 은행 계좌간에 돈을 옮기거나 환자들의 의록 기록에 대한 노트를 만드는 것과 같이 새로운 애플리케이션 기능을 작동시킬 때마다 이 애플리케이션은 사용자이 적절한 인증을 했는지 증명해야한다. 이러한 확인은 은밀히 발생되어야 하지만 애플리케이션 개발자들은 여전히 그것을 프로그램해야만 한다. 만약 개발자들이 천개의 보안체크를 올바르게 제공하고 있지만, 한가지를 빠뜨렸다면 이 애플리케이션은 안전하지 못한 것이 된다.
그러므로 소프트 개발 툴이 필요로 하는 것은 자동으로 인증을 추적하는 것이다. 이전에 이러한 시스템들은 역량 모델이라고 보안 연구자들이 말하는 것을 사용했다고 Liskov가 말했다. 역량이라는 것은 소유자들이 어떤 정보를 액세스하도록 인증 받는 입장 티켓과 같은 것이다. 웹 애플리케이션에서 다른 기능은 자신만의 티켓을 요구한다는 것이다. 사용자가 기능들을 작동시키려고 할 때 애플리케이션이 그 또는 그녀가 적합한 티켓을 가지고 있는지를 간단히 확인하게 된다.
기술적으로 이러한 방법은 완벽히 실현 가능하지만 실질적으로 프로그래머들이 그것에 관하여 생각하는 것은 힘들다고 Liskov가 말했다. 프로그래머는 보안 검사 또는 티켓 배분을 위한 코드를 작성하지 않는다. 그러나 그 또는 그녀가 어떤 티켓 또는 어떤 상황을 받아들여야 하는지에 관한 규칙을 지켜야만 한다. 그리고 특정한 규칙 선택에 대한 영향은 찾아내기 어려울 수 있다.
Liskov가 그녀의 대학원생이었던 Winnie Cheng, 현재 대학원생인 Dan Ports, David Schultz, James Cowling 과 Stanford대학, Princeton대학 및 Brandeis대학의 동료들과 함께 개발한 Aeolus는 인증이라는 것에 대하여 더 사용하기 쉬운 방법을 제공해준다. 티켓이라는 규칙을 제공하는 대신에 프로그래머는 시스템 사용자에 대한 계층을 간단히 기술하게 된다. 예를 들어, 의학 데이터 시스템에서 진단 정보는 환자들의 기초 주치의들에게 유용할 수 있다. 그러나 진료했던 정보와 예약 시간은 행정직원들이 통제하고 있다. 사용자의 로그인 공개키는 계층에서 특정층을 차지하고 있는 것을 통하여 그녀를 감지하게 된다. 그리고 Aeolus는 그 나머지를 담당하게 된다.
다른 이점들 중에서 계층적 방법은 액세스 권한을 취소하기 쉽게 만들어준다. 예를 들어, 병원을 옮긴 의사들은 주 전체의 의학 데이터베이스를 액세스할 필요가 있다. 그러나 이전 환자의 개인적인 정보를 더 이상 볼 수 없어야 한다. 역량 모델을 가지게 되면 이것은 의사들의 티켓의 폐지가 수반되어야 하지만, Aeolus는 의사들을 계층의 낮은 단계로 간단히 강등시킨다.
그러나 사용하기 쉬운 시스템을 만들기 위해서 복잡한 시스템이 필요하다. Aeolus는 보안을 유지하기 위해 백그라운드에서 동작하는 중요한 몇가지 매커니즘들을 포함하고 있다. 사용자들이 웹 애플리케이션에 로그인할 때 애플리케이션은 사용자들이 실행한 모든 거래를 추적할 필요가 있다. 기록들이 지속적으로 업데이트되어지기 때문에 이것은 고속이며, 쉽게 액세스 가능한 메모리에 저장되어진다. 거래기록에 대한 어떤 데이터도 같은 애플리케이션의 다른 사용자 또는 같은 서버에서 구동되는 다른 애플리케이션에 누설되지 않는다는 것을 Aeolus가 보장하고 있다. 유사하게 인증 계층에서 높이 있는 어떤 사람은 권한이 있는 데이터를 분석하기 위해서 프로그래머가 만든 소프트웨어(third-party software)를 사용하기를 원한다. Aeolus는 사용자 인증이 소프트웨어에 전달되지 않는다는 것을 자동으로 보장해준다. 이 소프트웨어가 데이터를 조작할 수는 있지만 외부로 누설할 수는 없다.
확실히 이것은 Aeolus에 대한 중요한 점을 언급하는 것이다. 이것은 데이터 액세스가 아닌 정보 흐름을 제어하는 시스템이다. 즉, 계층의 아래쪽에 있는 사람들은 컴퓨터 스크린에서 권한이 있는 정보를 볼 수 있지만. 워드 프로세서문서에 복사하거나 온라인에 게시하는 것과 같은 어떤 다른 것들을 할 수는 없다.
“정보 흐름 방법이라는 이러한 두가지 방법을 연구하고 있는 사람들은 액세스 제어 방법과 비교하여 애플리케이션을 개발하기 쉽다는 것에 믿음을 가지고 있다.” 라고 Liskov가 말했다. 악의적인 사용자들은 여전히 개인적인 정보를 공개할 수 있는 방법을 여전히 찾고 있다. 그러나 “현재 가장 큰 문제는 단순한 에러라는 사실이다.” 라고 Liskov가 말했다.
“강력한 보안이라는 관점에서의 잇점은 명백하다. 그러나 이것은 일종의 비용혜택적 분석이다. 대부분의 개발자들을 위해 현재의 방법을 변경하는 비용은 변환하고 싶어하지 않는 것만큼이나 높다.” 라고 Cornell대학 컴퓨터과학과 Andrew Myers가 말했다. 그러나 “Aeolus를 가진다면 훨씬더 직감적인 방법으로 보안정책을 지정할 수 있다. 해지에 대한 관리도 또한 이전 연구보다 좀더 수준이 높아졌다.” 라고 Myers가 말했다.
이와 같은 향상들은 개발자들이 이러한 시스템을 사용할 수 있도록 충분히 낮은 가격이 될 수 있을 것이라고 Myers가 말했으며 언젠가 중요한 정점을 찍게 될 것이라고 덧붙였다.
자료를 가져가실 때에는 출처 : KISTI 미리안 『글로벌동향브리핑(GTB)』를 밝혀 주시기 바랍니다.
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 1 |
[천체물리 - 우주(과학)] 47년만의 도전 실패…러 달탐사선 루나25호 달에 추락·파괴
| 졸리운_곰 | 2023.08.21 | 168 |

