WN

WN (https://www.wn.se/forum/index.php)
-   Feedback (https://www.wn.se/forum/forumdisplay.php?f=20)
-   -   Einards - Ett "antivirus" för hemsidor (https://www.wn.se/forum/showthread.php?t=1045096)

Solaris 2010-11-28 21:31

Einards - Ett "antivirus" för hemsidor
 
Efter månader utav programmering, nästan 27.000 rader kod och ett jävla mekande med detta projekt är det äntligen färdigt*.

Jag presenterar för er; en tjänst som förhoppningsvis kommer hjälpa er hemsidas säkerhet och ge er en uppfattning över hur attacker på eran hemsida "går till".

En tjänst som kommer hjälpa er att analysera attacker på eran hemsida, som varnar er vid intrång och olika attacker.

Jag presenterar, www.einards.com - Einar Digital Security

__________________________________________________ _

Ok, nog med epic intro. :D

En liten mer förståerlig version utav texten ovan.
Einards är alltså en tjänst som scannar av hemsidor efter hot, den kan i nuläget identifiera SQL-injections, XSS och till vis mån RFI.
Min tjänst upptäcker även när ett okontrollerat mönster utav attacker sker på eran sida, d.v.s när det helt plötsligt händer en jävla massa attacker under en dag. Exempelvis ifall en sårbarhet på eran sida har blivit postat på ett forum, IRC-kanal eller dylikt.

Detta tillsammans med detaljerade grafer, tidslinjer och analyseringsverktyg. Så ifall olyckan skulle vara framme någon gång och eran hemsida skulle bli hackad, få databasen dumpad eller liknande och ni använder Einards så kan ni enkelt gå tillbaka till den ungefärliga tidpunkten den blev hackad och kolla loggarna på Einards.

Loggarna är strukturerade, man kan filtrera efter olika parametrar m.m.

Einards skickar även ut notifikationer via e-post (ifall användaren vill) när exempelvis ett alarm uppkommer.
Så ifall ni sitter vid datorn och någon illasinnad försöker på en SQL-injection blir ni notifierade via epost och kan enkelt kolla ifall attacken var harmlös eller inte.

__________________________________________________ __

Det är mycket simpelt att komma igång, det enda ni behöver göra är att skapa en användare, lägga till er hemsida, ladda ner en PHP-klass sen inkludera den på eran hemsida.

That's it! Einards håller nu koll på eran hemsida och allt som har med dess säkerhet att göra.

*Så, just nu är sidan i Beta version, antagligen kommer det komma upp en del buggar och existera en massa stavfel (är inte så jättebra på engelska).
Men jag skulle gärna vilja veta vad ni tycker om den, designmässigt, funktionsmässigt m.m.

Ha det fint!
/Alexander LJ

Solaris 2010-11-28 22:03

Förresten, ifall någon vill testa logga in utan att behöva regga sig kan ni logga in med följande uppgifter.

http://www.einards.com/login.php

username: alexlj
password: hejhej

MMC 2010-11-28 22:07

Ambitiöst projekt! Kul att se mer sådant här på WN.

Jag förstår att jag inte är målgruppen här, men teknikern i mig vill läsa mer detaljer om vad den här Einards-klassen faktiskt gör. Om jag förstått det hela rätt så loggar man fortfarande in på einards.com, du säljer alltså en hostad tjänst och inte Einards-klassen som sådan.

Om så är fallet så tycker jag att du ska överväga att publicera källkoden till klassen. Som kund skulle jag uppleva det som tryggare att få se vad du vill köra på min server innan jag faktiskt registrerat mig.

En demoinstallation och demokonto vore bra, det vore snyggt om man fick några tips på attacker att försöka på en demoinstallation och se effekten i demokontot i realtid.

Slutligen så borde du verkligen be någon som är bättre på engelska att skriva om texterna, alternativt börja på svenska tills du fått några betakunder och vill satsa mer.

Edit: det kan också vara bra att mer i detalj beskriva vad den här typen av lösnings begränsningar är. T.ex. vad som krävs av din kund för att Einards ska fungera, vad man behöver göra om man har saker som phpMyAdmin eller Wordpress installerat osv.

AndersN 2010-11-28 22:08

Detta är en mycket intressant tjänst :)

Under "Practical" så har du en meny under rubriken "Get Started"
Dessa länkar pekar inte mot några sidor utan endast mot #
Dock fungerar "Subnavigation" menyn som den skall.

Skall kolla runt mer när jag kommer hem från jobbet inatt.

Solaris 2010-11-28 22:17

Citat:

Ursprungligen postat av MMC (Inlägg 20380254)
Ambitiöst projekt! Kul att se mer sådant här på WN.

Jag förstår att jag inte är målgruppen här, men teknikern i mig vill läsa mer detaljer om vad den här Einards-klassen faktiskt gör. Om jag förstått det hela rätt så loggar man fortfarande in på einards.com, du säljer alltså en hostad tjänst och inte Einards-klassen som sådan.

Om så är fallet så tycker jag att du ska överväga att publicera källkoden till klassen. Som kund skulle jag uppleva det som tryggare att få se vad du vill köra på min server innan jag faktiskt registrerat mig.

En demoinstallation och demokonto vore bra, det vore snyggt om man fick några tips på attacker att försöka på en demoinstallation och se effekten i demokontot i realtid.

Slutligen så borde du verkligen be någon som är bättre på engelska att skriva om texterna, alternativt börja på svenska tills du fått några betakunder och vill satsa mer.

Edit: det kan också vara bra att mer i detalj beskriva vad den här typen av lösnings begränsningar är. T.ex. vad som krävs av din kund för att Einards ska fungera, vad man behöver göra om man har saker som phpMyAdmin eller Wordpress installerat osv.

Hur menar du i detalj? Men du har helt rätt att jag kan beskriva mer vad den gör. Kan börja med att beskriva det här. ;)

Det enda den egentligen gör är att anropa einards övervakningssystem cornelia, inget annat. Alla analyser m.m sker på einards sida. Klassen agerar bara mellanhand mellan din sida och einards. D.v.s förmedlar datan från din sida till cornelia.

Och riktigt bra idé med demokonto, ska fila på det under morgondagen.

Och japp, ska be någon med bättre engelska renskriva det. Har försökt mitt bästa men det kanske inte räckte vägen. Haha.

Det är bra, fortsätt spruta på med feedback och förslag så ska jag försöka implementera dem.

Citat:

Ursprungligen postat av AndersN (Inlägg 20380255)
Detta är en mycket intressant tjänst :)

Under "Practical" så har du en meny under rubriken "Get Started"
Dessa länkar pekar inte mot några sidor utan endast mot #
Dock fungerar "Subnavigation" menyn som den skall.

Skall kolla runt mer när jag kommer hem från jobbet inatt.

Tackar ! :)

Oj, my mistake. Fixat det nu.

MMC 2010-11-28 22:27

Citat:

Ursprungligen postat av Solaris (Inlägg 20380257)
Hur menar du i detalj? Men du har helt rätt att jag kan beskriva mer vad den gör. Kan börja med att beskriva det här. ;)

Det enda den egentligen gör är att anropa einards övervakningssystem cornelia, inget annat. Alla analyser m.m sker på einards sida. Klassen agerar bara mellanhand mellan din sida och einards. D.v.s förmedlar datan från din sida till cornelia.

Vad är det som skickas från kundens server till Cornelia? Du måste låta kunden bilda sig en uppfattning om vilken information som överförs till din miljö. Eftersom du vänder dig till mindre tekniskt bevandrade så kan man behöva vara övertydlig med att tjänsten innebär att massor med mer eller mindre hemlig information om kundens system och användare lagras hos dig som tredje part.

Citat:

Och japp, ska be någon med bättre engelska renskriva det. Har försökt mitt bästa men det kanske inte räckte vägen. Haha.
Det är lugnt, man ska fokusera på det man är bra på, men för en sådan här tjänst är förtroende A och O och då måste språket vara rätt.

Solaris 2010-11-28 22:38

Citat:

Ursprungligen postat av MMC (Inlägg 20380258)
Vad är det som skickas från kundens server till Cornelia? Du måste låta kunden bilda sig en uppfattning om vilken information som överförs till din miljö. Eftersom du vänder dig till mindre tekniskt bevandrade så kan man behöva vara övertydlig med att tjänsten innebär att massor med mer eller mindre hemlig information om kundens system och användare lagras hos dig som tredje part.



Det är lugnt, man ska fokusera på det man är bra på, men för en sådan här tjänst är förtroende A och O och då måste språket vara rätt.

Har lagt till en mer detaljerad beskrivning exakt vad einards kollar efter.
http://www.einards.com/documentation.php

Vet dock inte hur jag ska göra med språket, är bara 18 år och mina vänner är inte heller så värst superbra på engelska. :(

abergman 2010-11-29 08:53

Citat:

Ursprungligen postat av Solaris (Inlägg 20380261)
Har lagt till en mer detaljerad beskrivning exakt vad einards kollar efter.
http://www.einards.com/documentation.php

Vet dock inte hur jag ska göra med språket, är bara 18 år och mina vänner är inte heller så värst superbra på engelska. :(

Jag måste säga att jag är jävligt imponerad av tjänsten! Häftigt.

PM:a mig så kan vi snacka lite om språket;)

Dennis Holm 2010-11-29 09:02

kommer bli väldigt intressant att följa hur denna tjänsten utvecklar sig.
Både i tjänsten som sig och spridningen.
Tror det är en välbehövlig tjänst och absolut bra uppbyggd :).

Kämpa på.

lunarmys 2010-12-01 08:48

Kan bara hålla med om engelskan, man blir lite mörkrädd.

Att sen döpa en klass till "Request" känns lite optimistiskt. Varför inte EinardsRequest eller nånting som garanterat inte redan används på sidan?

Står inte heller nånting om pris på business-versionen.. ?

Solaris 2010-12-01 10:31

Citat:

Ursprungligen postat av lunarmys (Inlägg 20380620)
Kan bara hålla med om engelskan, man blir lite mörkrädd.

Att sen döpa en klass till "Request" känns lite optimistiskt. Varför inte EinardsRequest eller nånting som garanterat inte redan används på sidan?

Står inte heller nånting om pris på business-versionen.. ?

Som sagt, ska ta tag i engelskan så fort jag får tid och hittar någon duktig vän som har dolda engelskakunskaper.

Förvisso sant angående Request, ska skriva opp det.

Det står inte pris någonstans eftersom just nu (vet inte ifall du har loggat in och kollat runt) upptäckt att under beta-versionen kan man bara ha en hemsida aktiv, inte editera sina hemsidor samt att det står både vid registrering och index att allting är helt gratis under betan.

Så just nu finns det ingen "business" eller "private" version att tillgå. :)

lunarmys 2010-12-01 10:35

Citat:

Ursprungligen postat av Solaris (Inlägg 20380634)
Det står inte pris någonstans eftersom just nu (ifall du hade loggat in och kollat runt) upptäckt att under beta-versionen kan man bara ha en hemsida aktiv, inte editera sina hemsidor samt att det står både vid registrering och index att allting är helt gratis under betan.

Så just nu finns det ingen "business" eller "private" version att tillgå. :)

Jajo, det antog jag. Men vore ändå bättre om det står pris och sedan med en liten notis om att fram till produkten är klar så är det gratis.

Skulle ge mig mer förtroende för tjänsten SAMT vore det fint att kunna veta vad man kommer behöva betala OM man fortsätter använda tjänsten efter betan är slut.

Solaris 2010-12-01 10:38

Citat:

Ursprungligen postat av lunarmys (Inlägg 20380637)
Jajo, det antog jag. Men vore ändå bättre om det står pris och sedan med en liten notis om att fram till produkten är klar så är det gratis.

Skulle ge mig mer förtroende för tjänsten SAMT vore det fint att kunna veta vad man kommer behöva betala OM man fortsätter använda tjänsten efter betan är slut.

Fast jag har faktiskt ingen aning om vad jag ska ta för pris ifall nu tjänsten går ur sin beta-version och blir redo att slussas ut "in public" på ett seriöst marknadsplansperspektiv. Just nu tycker jag det bara är kul att ha skapat ett stort projekt som fungerar + att jag har lärt mig en jäkla massa. :)

AndersN 2010-12-01 19:56

Hm, går inte så bra att köra för mig (ligger på Binero 1.0) :(

Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /einards.core.php on line 92

Solaris 2010-12-01 19:59

Citat:

Ursprungligen postat av AndersN (Inlägg 20380780)
Hm, går inte så bra att köra för mig (ligger på Binero 1.0) :(

Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /einards.core.php on line 92

Hmm ok.

I einards.core.php, testa ta bort raden

"curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);"

Tack för infon förresten, kan vara bra att veta om. :)

AndersN 2010-12-01 20:09

Fungerar om jag kommenterar bort den raden, min följdfråga är då om detta lilla ingrepp inte påverkar funktionen på din tjänst?

Solaris 2010-12-01 20:11

Citat:

Ursprungligen postat av AndersN (Inlägg 20380791)
Funderar om jag kommenterar bort den raden, min följdfråga är då om detta lilla ingrepp inte påverkar funktionen på din tjänst?

Nej då, det ska det inte göra. Klassen du laddar ner anropar bara Einards, du får skriva en helt egen metod ifall du så vill. Hur du anropar Einards spelar ingen roll, bara tjänsten anropas med rätt parametrar så är det lugnt. :)

D.v.s du kan använda cURL, fopen eller vad som nu behagar dig.

Solaris 2010-12-02 22:01

Sådär, gjort lite uppdateringar nu, suttit igår och idag.
  • Ändrat diverse stavfel och konstiga formuleringar (Har försökt så gott jag kan, förhoppningsvis så är det lite mindre farligt nu).
  • Uppdaterat FAQn
  • Lagt till ett demokonto, uppgifter finns vid login. Har även satt min egen portfolio (http://www.alexander-ljungstrom.com) som mål där man kan testa intrångsförsök och se hur det uppdateras i realtid på demokontot. Demokontot har dock en begränsad funktionalitet, man kan inte ändra lösenord, man kan inte ändra mail, generera nya pass keys m.m.
  • Utökat stödet för att identifiera RFI attacker.
  • Gjort systemet som övervakar hemsidor mer effektivt, loading time förminskats rejält.
  • Effektiviserat vissa saker, såsom trigger levels m.m.
  • Lagt till mer information om vad Einards kollar efter och gör, hur vi hanterar data m.m

Har fått mycket god respons på sidan hittills, både här på WN, via mail samt PMs. Kul att se, och det är underbart att ni rapporterar in buggar och dylikt. :)

MMC 2010-12-03 10:16

Bra med ett demokonto, har tittat runt lite i det nu.

Lite förbättringsförslag:
* Varför måste jag "choose a website" för varenda funktion jag tittar på? Jag tror att det vore bättre att man kunde välja att jobba med en sajt på ett ställe, ungefär som Google Analytics gör. Ännu bättre vore så klart att inte fråga vilken sajt man ska jobba med förrän man lagt till två eller fler.

* Jag saknar förklaringar på vad "Einards status" innebär. Det är massor med röda kryss där på demokontot men det förklaras inte vad det betyder eller vad jag kan göra åt det.

* Försök vara konsekvent med namn på typer av attacker osv. Om ena typen heter XSS så kanske det räcker att kalla SQL-injektioner för SQL och inte "SQL-injections" (ska inte vara ett bindestreck där btw) eftersom det då ser märkligt ut i listan över attacker.

--

Men jag måste bara fråga en sak nu. Du sparar alltså bara URL:en för varje sidvisning, och får därmed GET-variabler som du troligtvis kör genom ett antal regexar för att upptäcka "misstänkt" input. Vad händer med POST-variabler? Jag kan ju lika gärna göra ett SQL-injektionsförsök genom ett POSTat formulär. Om din tjänst inte stödjer det så vore det kanske bra att förtydliga detta.

Ett tips på funktion som kan vara bra för att upptäcka och förhindra XSS: spara Referer-strängen för alla anrop och skriv lite kod som upptäcker när t.ex. ett formulär POSTas med en Referer som skiljer sig från vad det brukar vara för det formuläret.

Slutligen vill jag bara poängtera att jag tycker att det är skitkul att se ett sådant här ambitiöst projekt från någon så ung, så se mina synpunkter som konstruktiv kritik och tappa inte sugen. Du kommer att lära dig sjukt mycket genom att arbeta med detta även om du kanske inte tar över världen med just denna tjänst.

Solaris 2010-12-03 20:34

Citat:

Ursprungligen postat av MMC (Inlägg 20381152)
Bra med ett demokonto, har tittat runt lite i det nu.

Lite förbättringsförslag:
* Varför måste jag "choose a website" för varenda funktion jag tittar på? Jag tror att det vore bättre att man kunde välja att jobba med en sajt på ett ställe, ungefär som Google Analytics gör. Ännu bättre vore så klart att inte fråga vilken sajt man ska jobba med förrän man lagt till två eller fler.

* Jag saknar förklaringar på vad "Einards status" innebär. Det är massor med röda kryss där på demokontot men det förklaras inte vad det betyder eller vad jag kan göra åt det.

* Försök vara konsekvent med namn på typer av attacker osv. Om ena typen heter XSS så kanske det räcker att kalla SQL-injektioner för SQL och inte "SQL-injections" (ska inte vara ett bindestreck där btw) eftersom det då ser märkligt ut i listan över attacker.

--

Men jag måste bara fråga en sak nu. Du sparar alltså bara URL:en för varje sidvisning, och får därmed GET-variabler som du troligtvis kör genom ett antal regexar för att upptäcka "misstänkt" input. Vad händer med POST-variabler? Jag kan ju lika gärna göra ett SQL-injektionsförsök genom ett POSTat formulär. Om din tjänst inte stödjer det så vore det kanske bra att förtydliga detta.

Ett tips på funktion som kan vara bra för att upptäcka och förhindra XSS: spara Referer-strängen för alla anrop och skriv lite kod som upptäcker när t.ex. ett formulär POSTas med en Referer som skiljer sig från vad det brukar vara för det formuläret.

Slutligen vill jag bara poängtera att jag tycker att det är skitkul att se ett sådant här ambitiöst projekt från någon så ung, så se mina synpunkter som konstruktiv kritik och tappa inte sugen. Du kommer att lära dig sjukt mycket genom att arbeta med detta även om du kanske inte tar över världen med just denna tjänst.

Ska besvara varje punkt nu. :D

Choose a website är ren lathet från min sida, detta kan absolut finslipas.
Förklaringar för Einards status känns väl ibland lite överflöda, men vissa saker kan vara oklara. Såsom E.S.P, Filter, Encryption m.fl. Ska lägga till det på "to do list".
Kan också ta bort bindestrecket på texten "SQL-injection" bland graferna. :)

Det är alldeles korrekt att jag tar URLen och kör genom ett antal regexar, har dock även en del andra äss i rockärmen för att förfina metoderna att urskilja skadliga URLer från "ok" URLer. Exakt vad det är vill jag inte gå in på.

Men, angående POST. I alphan utav Einards så fanns det faktiskt en funktion där man kunde kontrollera sin POST-data, så den funktionen fanns/finns på det gamla systemet.

Felet låg dock i följande:

1.) Folk känner sig lite nojiga ifall dom skickar ut känsliga värden från deras forms till einards, d.v.s folk kanske inte vill skicka ut lösenord, kunduppgifter etc till oss.
Sen det största problemet var att kontrollera POST-datan, tänk dig bara denna forumspost. Ifall allt detta skulle kontrolleras så blir det massiva strängar att skicka som parametrar till Einards, detta klarade inte Einards av och det blev en jävla massa errors hit och dit.

Går ju dock att lösa på vissa sätt, exempelvis en funktion där man kan kontrollera input-forms som har en maxlimit mindre än 50 tecken eller dylikt. Fast som sagt, privacyn är också lite nojig.

Tack för tipset angående referersträngen! Riktigt bra idé, ska försöka implementera detta.

Och slutligen, tack för den underbara feedbacken. Och det du skrev värmer verkligen i mitt hjärta. :)

sbgm 2011-07-11 13:41

Hur har det gått för sidan?

Solaris 2011-07-11 19:17

Hej!

Har inte uppdaterat den på frontend sen i vintras, gjorde lite små modifikationer i scriptet för någon månad sedan dock. Annars har det dock stått still till fördel för andra projekt jag gjort åt folk, till mig själv eller mallar åt themeforest..

Tjänsten har dock ett par aktiva sidor som använder den dagligen.
Men just nu så används den väl typ bara i min portfolio eller när jag vill visa mina kunskaper inom ren programmering och inte bara design.
Dock så är det så mycket som återstår på tjänsten för att den ska bli vettig.
Fortfarande massa finslip, massa stavfel osv jag helt enkelt inte orkar ta tag i.

Kanske någon gång i framtiden, få se. Annars tickar den på med ett 10-tal besök per dag typ.
Så inte så glamoröst egentligen. :)

Mitt dygn hade dock behövt typ 30 timmar.. Har inte tid med saker som är skoj längre typ. :D Har ett heltidsjobb, ett jobb varenda helg och på kvällarna så har jag cirka 4 timmars fritid då jag gör layouter i princip.. Så tyvärr så går inte så mycket tid åt sådana här saker längre..

eliasson 2011-07-14 16:33

Jag önskar ta bort det konto jag skapat, och jag hittar ingen sådan funktion.
Kan du vänligen peka mig i rätt riktning.

Solaris 2011-07-14 19:41

Citat:

Ursprungligen postat av eliasson (Inlägg 20411536)
Jag önskar ta bort det konto jag skapat, och jag hittar ingen sådan funktion.
Kan du vänligen peka mig i rätt riktning.

Just nu har jag inte lagt in någon sådan funktion, men du kan PMa mig här med ditt användarnamn så tar jag bort dig. :)


Alla tider är GMT +2. Klockan är nu 21:48.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson