W internecie jest dostępnych wiele narzędzi online, które pozwalają producentom, dostawcom i klientom weryfikować aktualny stan zabezpieczeń ustawiony dla systemu dostępnego online. Choć systemy klasy CRM/ERP najczęściej nie są dostępne publicznie, o tyle wersje demo producentów już tak.
Narzędzie którym się posłużymy [https://observatory.mozilla.org/] na dzień dzisiejszy weryfikuje następujące zabezpieczenia:
W artykule nie będziemy opisywali powyższych zabezpieczeń, ponieważ w internecie znajdziemy wiele bardzo dobrych artykułów, które w jasny i przejrzysty sposób pozwalają zrozumieć jak ważne są to zabezpieczenia. Warto w tym miejscu przytoczyć cytat autorów:
„Dziewięć na dziesięć serwisów otrzyma tutaj ocenę niedostateczną i to jasne, że jest to problem dla nas wszystkich. Przez „wszystkich” rozumiemy tu także Mozillę, ponieważ wśród naszych tysięcy witryn wiele nie przejdzie tego testu.” Źródło: Mozilla, news.softpedia, cyberkendra
Oznacza to, że problem jest powszechny i producenci nie nadążają za rozwojem technologii. Każdy powinien mieć wdrożone odpowiednie polityki wewnętrzne, które odpowiadają za podwyższanie jakości kodu i weryfikacji zgodności z obowiązującymi standardami. W szczególności, że mamy do dyspozycji wiele narzędzi online. Mozilla posługuje się następującą oceną poszczególnych zabezpieczeń: https://github.com/mozilla/http-observatory/blob/master/httpobs/scanner/grader/grade.py, która wystawia oceny od F [najgorsza] do A+ [najlepsza].
Poniżej zestawiliśmy jak producenci poszczególnych systemów open source, zabezpieczają swoje produkty:
Nazwa systemu | Ocena | Punktacja |
YetiForce 4.2 | B+ | 80 |
VtigerCRM 7.0.1 | F | 0 |
JoForce 7.0 | F | 0 |
SuiteCRM 7.9.4 | F | 0 |
CoreBOS 7.0 | F | 0 |
EPESI 1.8 | F | 0 |
oroCRM 2.3 | F | 0 |
Niektórzy producenci rozwiązują problem poprzez odpowiednią konfiguracje serwera dla subdomeny na której znajduje się system, jednakże problem ten cały czas istnieje, ponieważ mechanizmy i zabezpieczenia powinny być wbudowane w aplikacje. O ile z perspektywy bezpieczeństwa nie ma znaczenia na której warstwie zabezpieczenie zostanie zrealizowane, o tyle od strony praktycznej, jeżeli zabezpieczenie nie istnieje w aplikacji to co najmniej aplikacja powinna weryfikować czy serwer został odpowiednio skonfigurowany.
Od strony praktycznej jest bardzo prosto zarówno zweryfikować dowolną aplikacje podając jej adres do strony logowania, jak również poprawić aplikacje, ponieważ Mozilla przygotowała garść porad co należy zrobić, aby wynik ten poprawić, poniżej przykładowe zrzuty ekranu z testów:
Można pomyśleć, że niektórzy producenci nie wiedzą o tego typu zabezpieczeniach, które w znaczący sposób utradniają włamanie się do aplikacji dla niektórych typów podatności. Prawda jest jednak taka, że jest to ignorowane a większość firm albo nie rozumie problemu albo ignoruje go, pomimo tego, że każdy audyt bezpieczeństwa powinien wykazać:
Najnowsza wersja systemu YetiForce posiada 80 na 100 punktów co wyznacza już dzisiaj standardy [10 na 11 testów] w jakich należy tworzyć oprogramowanie, w przyszłości planujemy rozwiązać ostatni problem, który pozwoli nam przejść test 11 na 11.
Co ciekawe, niektóre testy są bardzo proste do spełnienia i każdy producent może to zrealizować w kilka chwil, niektóre jednak wymagają przebudowania architektury w taki sposób, aby była zgodna z obecnie obowiązującymi standardami.
Należy pamiętać, że problem ten nie dotyczy tylko systemów otwartych, problem ten dotyczy większości komercyjnych systemów, również tych z górnej półki.