IoS to wizja Internetu przyszłości, w którym informacje, dane i
aplikacje - oraz narzędzia do ich opracowywania - są zawsze dostępne bez
względu na to, czy są przechowywane lokalnie na urządzeniu, w chmurze
czy też wysyłane są w czasie rzeczywistym z czujników. Tradycyjne
aplikacje są projektowane w dużej mierze do użytkowania niezależnie a
IoS usuwa granice, obniżając koszty i pobudzając innowacyjność.
Opierając się na sukcesie chmury obliczeniowej, aplikacje IoS
budowane są na zasadzie komponowania usług rozproszonych w sieci,
grupowania i użytkowania w czasie przetwarzania, w sposób elastyczny i
sterowany popytem. To nowe podejście do oprogramowania ułatwi
opracowywanie aplikacji i usług, tak aby można oferować niedostępne
dzisiaj, nowe i innowacyjne usługi. Może ono wnieść istotny wkład w
unijną strategię zwiększania konkurencyjności europejskiego sektora
oprogramowania.
Usługi IoS są projektowane i implementowane przez producentów,
wdrażane przez dostawców, grupowane przez pośredników i wykorzystywane
przez użytkowników. Każdy kto chce opracowywać aplikacje może w tym celu
posłużyć się zasobami Internetu usług przy niewielkiej, uprzedniej
inwestycji i możliwości korzystania z dorobku innych osób.
Pod wieloma względami IoS rozwiązuje problemy interoperacyjności i
niesprawności, jakie mogą trapić tradycyjne systemy oprogramowania, ale
może też tworzyć nowe, słabe punkty. W jaki sposób można zyskać pewność,
że usługa z której korzystamy jest wolna od błędów? Czy różne
komponenty opracowane przez różnych programistów, które grupujemy w nową
aplikację zostały przetestowane pod kątem słabych punktów
bezpieczeństwa?
"Mimo iż zawsze trudno dokładnie określić ilościowo wpływ braku
czegoś, oczywiste jest, że brak sprawnych technologii walidacji
bezpieczeństwa znacznie spowalnia szerokie przyjmowanie się usług
sieciowych wśród obywateli, z których wielu nadal nie ma zaufania do
Internetu w ogóle a do Internetu usług w szczególności" - ostrzega
profesor Luca Viganò z Universita degli Studi di Verona we Włoszech.
"Nie wystarczy zatem opracować dobre usługi internetowe czy takie,
których bezpieczeństwo zostało dowiedzione lub które zostały
przetestowane, potrzebujemy bowiem sposobu na przekonanie obywateli, że
rzeczywiście są bezpieczne i zostały dokładnie przetestowane. Istnienie i
użytkowanie automatycznych narzędzi, które pozwalają umieścić 'znak
gwarancji' na nowo opracowywanych bądź pobranych z Internetu usługach
wzbudzi bez wątpienia większą pewność i zaufanie".
Prof. Viganò wraz z zespołem naukowców z pięciu krajów europejskich
poddaje ostatnim szlifom narzędzia, które mają właśnie zapewnić tak
potrzebny "znak gwarancji" usługom sieciowym. Ich prace, prowadzone w
ramach dofinansowanego przez Komisję Europejską na kwotę 3,6 mln EU
projektu SPACIOS (Bezpieczne dostarczanie i korzystanie z Internetu
usług), łączą nowatorskie i nowoczesne technologie na potrzeby
penetracyjnych testów bezpieczeństwa, testów słabych punktów, testów
mutacyjnych, automatycznego uczenia na potrzeby wnioskowania modelowego,
sprawdzania modelu i technik ekstrakcji kodu.
Unikalne narzędzie do testowania bezpieczeństwa usług sieciowych
"Należy zauważyć, że nowoczesne technologie walidacji bezpieczeństwa
są dostępne, ale zazwyczaj wykorzystuje się je odrębnie w czasie
produkcji, podczas gdy my potrzebujemy narzędzi, za pomocą których można
przeprowadzać walidację usług w czasie przetwarzania" - wyjaśnia prof.
Viganò. "Istnieje wiele narzędzi, które sprawdzały się doskonale w
testach bezpieczeństwa, ale żadne z nich, wedle naszej wiedzy, nie łączy
wszystkich technik w jedno, korzystające z jednego języka formalnego na
wejściu i wyjściu. Jesteśmy przekonani, że narzędzie SPACIOS dysponuje
możliwościami, których żadne inne narzędzie nie posiada".
W dużym uproszczeniu użytkownik rozpoczyna od formalnej specyfikacji
systemu, który ma być poddany testom, określając jego właściwości w
postaci formalnego wzoru. Jeżeli nie istnieje żadna specyfikacja
formalna, narzędzie SPACIOS może wygenerować model automatycznie z kodu
źródłowego. Model przechodzi następnie testy pod kątem słabych punktów
za pomocą najnowocześniejszej platformy sprawdzającej o nazwie AVANTSSAR
(którą prof. Viganò pomógł opracować w ramach wcześniejszego projektu).
W razie odkrycia ataku, program sprawdzający model przesyła ślad
ataku, który można wykorzystać do wygenerowania przypadków testowych dla
systemu. Jeżeli żaden atak nie zostanie odkryty model podlega mutacji,
aby wymusić standardowe słabe punkty w specyfikacji i testy są
powtarzane. Wszystkie odkryte ślady ataku są wykorzystywane do
wygenerowania przypadków testowych do poddania systemu ponownej próbie.
Proces jest powtarzany do momentu sprawdzenia wszystkich parametrów i
potencjalnych słabych punktów.
"Co istotne różne komponenty narzędzia można używać niezależnie. Są
zintegrowane na platformie Eclipse, która umożliwia użytkownikowi wybór
tego, co chce dokładnie zrobić" - informuje koordynator SPACIOS.
Zespół przetestował różne, branżowe scenariusze aplikacji z użyciem
rzeczywistych programów. Naukowcy szukali na przykład słabych punktów w
SAML 2.0 Web pojedynczego logowania (powstający standard umożliwiający
partnerom biznesowym online uwierzytelnianie swoich użytkowników w
środowisku tożsamości federacyjnej) oraz w OpenID (otwarty, zorientowany
na użytkownika protokół pojedynczego logowania na bazie przeglądarki
internetowej, który zapewnia sposób uwierzytelniania użytkownika na
podstawie wykazania kontroli nad unikalnym identyfikatorem). Pośród
innych scenariuszy, narzędzie SPACIOS zostało sprawdzone na zbiorze
aplikacji internetowych na licencji open-source, obejmującym księgarnię
internetową, witrynę ogłoszeń i katalog pracowników. Aplikacje
internetowe były wcześniej przedmiotem analizy kodu źródłowego i zostały
przetestowane pod kątem słabych punktów.
Siemens i SAP, niemieccy partnerzy przemysłowi zaangażowani w
projekt SPACIOS, przedłożyli trzy inne scenariusze aplikacji w celu
walidacji narzędzia: Pervasive Retail (wszechobecny handel detaliczny:
nowatorska platforma zarządzania marketingiem na żądanie do budowania
interaktywności między klientami, detalistami i dostawcami produktów za
pośrednictwem telefonii komórkowej), Infobase Document Repository
(repozytorium dokumentów: system zarządzania dokumentami, który
umożliwia bezpieczne zarządzanie i współdzielenie dokumentów lub plików
danych w przeglądarkach internetowych) oraz eHealth (eZdrowie: na bazie
systemów typu mash-up, z jednej strony tworzy elektroniczne kartoteki
zdrowotne i korzysta z nich, a z drugiej skupia inne funkcjonalności,
takie jak wspomaganie procesu decyzyjnego lekarza, analiza obrazów i
systemy billingowe).
Zważywszy na szeroki zasięg Internetu usług i jego prawdopodobną
szybką ekspansję w nadchodzących latach, potencjalne scenariusze
aplikacji dla narzędzia SPACIOS są niemal nieograniczone. Przy szerokim
upowszechnieniu zapewni użytkownikom wyższe bezpieczeństwo i znacznie
obniży koszty wdrażania usług internetowych.
"Podejście SPACIOS umożliwi płynną integrację z cyklem opracowywania
usług, od analizy na etapie projektowania po testowanie w czasie
przetwarzania, pozwalając programistom znacznie obniżyć koszty własne.
Trudno oszacować to ilościowo, ale spodziewamy się, że będziemy w stanie
zapewnić pewne środki w następstwie integracji przez partnerów
przemysłowych". wyjaśnia prof. Viganò.
Mimo iż partnerzy nie planują obecnie bezpośredniego wprowadzania
narzędzia na rynek, jest już ono wykorzystywane w branży przez firmy
Siemens, SAP i inne - mówi prof. Viganò. Partnerzy projektu rozważają
także możliwość jego kontynuacji, aby wprowadzić dalsze udoskonalenia do
technologii testowania pod kątem wad i słabych punktów.
Projekt SPACIOS uzyskał wsparcie w ramach finansowania badań
naukowych z budżetu Siódmego programu ramowego (7PR) Unii Europejskiej.
Hiperłącza do projektu w serwisie CORDIS:
-
7PR w serwisie CORDIS-
karta informacji o projekcie SPACIOS w serwisie CORDIS
Hiperłącze do strony internetowej projektu:
-
'Bezpieczne dostarczanie i korzystanie z Internetu usług'
Inne hiperłącza:
-
strona internetowa Komisji Europejskiej poświęcona agendzie cyfrowej