your bank’s digital side door - danneman · quicken/quickbooks connection types web connect...

86
1 Your Bank’s Digital Side Door @sdanndev

Upload: others

Post on 06-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

1

Your Bank’s Digital Side Door@sdanndev

Page 2: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

2

“Because that’s where the money is.”Willie Sutton, Bank Robber

Page 3: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

3

Why does my bank website require my 2-factor token, but

pulling my transactions into Quicken does not?

Page 4: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

4

Personal Financial Management

PFM

Page 5: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

5

Personal Financial Management (PFM)

Page 6: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect
Page 7: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

7

Page 8: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

8

Page 9: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

9

Page 10: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

10

Page 11: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

11

Page 12: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

12

Page 13: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

13

Quicken/Quickbooks Connection Types

Web Connect

• Unidirectional

• Manual

• Download a file

• OFX file format

Express Web Connect

• Unidirectional

• Programmatic

• Screen scrape

• Private web service

Direct Connect

• Bidirectional

• Programmatic

• Structured query

• OFX protocol

Page 14: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

14

Web Connect

ExpressWeb Connect

Direct Connect

Desktop Application Middle-Man Financial Institution

OFX

OFX

OFX

Page 15: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

15

Account Aggregation Service / API

Page 16: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

16

Web Application Middle-Man Financial Institution

OFX

OFX

CSV

Page 17: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

18

Lack of Least Privilege

User has one set of

full-privilege bank credentials

Page 18: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

19

Lack of Least Privilege

Plain text password is shared with and stored by aggregators

Page 19: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

20

Lack of Least Privilege

Tokenized, application-based, access control (OAuth) is needed

Page 20: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

21

Open Financial Exchange (OFX)

aka Direct Connect

Page 21: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

22

www.ofx.org

Page 22: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

23

Banking

• Checking

• Savings

• CDs

• Loans

Investment

• IRA

• 401k

• Holdings

• Equity Prices

Credit Cards

• Transactions

Transfers

• Bill Pay

• Intrabank

• Interbank

• Wire Funds

OFX Functionality - Financial

READ WRITE

Page 23: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

24

OFX Functionality - Miscellaneous

• Enrollment• Setup online access

• Password Reset

• FI Profile• Like a homepage

• Email• Messages and Notifications

• Synchronization• Ensure multiple clients receive

1-time messages

• Image download• JPEG, TIFF, PNG, PDF

• Bill Presentment• For 3rd parties

Page 24: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

POST /cgi/ofx HTTP/1.1Accept: */* Content-Type: application/x-ofxDate: Fri, 16 Jun 2018 21:12:27 GMTUser-Agent: InetClntApp/3.0Content-Length: 570Connection: close

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRQV1>

<SONRQ><DTCLIENT>20060321083010<USERID>12345<USERPASS>MyPassword<LANGUAGE>ENG<FI>

<ORG>ABC<FID>000111222

</FI><APPID>MyApp

</SONRQ></SIGNONMSGSRQV1>... <!--Other message sets-->

</OFX>

HTTP/1.1 200 OKDate: Fri, 16 Jun 2018 21:12:30 GMTContent-Type: application/x-ofxConnection: Keep-AliveContent-Length: 2399

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRSV1>

<SONRS><STATUS>

<CODE>0<SEVERITY>INFO<MESSAGE>Success

</STATUS><DTSERVER>20060321083445<LANGUAGE>ENG<FI>

<ORG>ABC<FID>000111222

</FI></SONRS>

</SIGNONMSGSRSV1>... <!--All other transaction responses-->

</OFX>

Request Response

Page 25: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRQV1>

<SONRQ><DTCLIENT>20060321083010<USERID>12345<USERPASS>MyPassword<LANGUAGE>ENG<FI>

<ORG>ABC<FID>000111222

</FI><APPID>MyApp

</SONRQ></SIGNONMSGSRQV1>... <!--Other message sets-->

</OFX>

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRSV1>

<SONRS><STATUS>

<CODE>0<SEVERITY>INFO<MESSAGE>Success

</STATUS><DTSERVER>20060321083445<LANGUAGE>ENG<FI>

<ORG>ABC<FID>000111222

</FI></SONRS>

</SIGNONMSGSRSV1>... <!--All other transaction responses-->

</OFX>

Request Response

Page 26: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

27

OFX

Page 27: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

28

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRQV1>

... <!--Anonymous sign on--></SIGNONMSGSRQV1><PROFMSGSRQV1>

<PROFTRNRQ><TRNUID>5A59A330-7CEC-1000-A761 <PROFRQ>

<CLIENTROUTING>MSGSET<DTPROFUP>19900101

</PROFRQ></PROFTRNRQ>

</PROFMSGSRQV1></OFX>

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX>... <!--Anonymous sign on success--><BANKMSGSET>

<BANKMSGSETV1><MSGSETCORE>

<URL>https://o.bank.org/ofx.asp<LANGUAGE>ENG<SPNAME>Corillian Corp

</MSGSETCORE><XFERPROF>

<PROCENDTM>235959[0:GMT]<CANSCHED>Y<CANRECUR>N<CANMODXFERS>N

</XFERPROF></BANKMSGSETV1>

</BANKMSGSET></OFX>

Request Response

Page 28: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

29

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX><SIGNONMSGSRQV1>

... <!--Anonymous sign on--></SIGNONMSGSRQV1><PROFMSGSRQV1>

<PROFTRNRQ><TRNUID>5A59A330-7CEC-1000-A761 <PROFRQ>

<CLIENTROUTING>MSGSET<DTPROFUP>19900101

</PROFRQ></PROFTRNRQ>

</PROFMSGSRQV1></OFX>

OFXHEADER:100DATA:OFXSGMLVERSION:103SECURITY:NONEENCODING:USASCII

<OFX>... <!--Anonymous sign on success--><PROFMSGSRSV1>

<PROFTRNRS><PROFRS>

<FINAME>Bank<ADDR1>123 Muholland Drive<CITY>Las Vegas<STATE>NV<POSTALCODE>89109<COUNTRY>USA<CSPHONE>206-439-5700<URL>http://www.bank.org<EMAIL>[email protected]

</PROFRS></PROFTRNRS>

</PROFMSGSRSV1></OFX>

Request Response

Page 29: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

30

OFX Protocol Specification

Page 30: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

33

Multi-Factor Authentication (MFA)

Know

• Password

• PIN

• Security Question

Have

• Token• Hardware

• Software

• PKI Certificate

• Smart Card

Are

• Biometric

• Behavior

Page 31: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

34

2-Step Authentication

• Password + out-of-band mechanism• 6 digit string

• SMS

• Push notification

• Software token

Page 32: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

35

OFX “MFA”

Security Question

• <USERCRED1>• Free form field required by

server

• Server defines label

• Ex: “Mother’s maiden name”

• <MFACHALLENGE>• Security questions

• Hard coded list

• Ex: “Favorite color”

Page 33: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect
Page 34: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

37

OFX “MFA”

Static String

• <CLIENTUID>• Client generated ID

• Checked by Server • TOFU

• Static

• <AUTHTOKEN>• Server generated

• Provided to client out-of-band

• Implied static

• Could be used for 2-step auth

Page 35: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

38

76%

20%

4% 0%

Frequency of OFX Header: Version

102

103

202

203

Page 36: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

39

TL;DR:

If someone guesses or steals your bank password they can bypass any 2nd identity checks to access your account using a PFM client.

Page 37: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

40

Financial Institutions

FIs

Page 38: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

41

The Big Canadian Names

Page 39: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

42

The Big American Names

Page 40: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

43

The Smaller Names

Page 41: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect
Page 42: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

45

There Are A Lot of Banks!

7,000 OFX FIs

2,000 Public

OFX FIs

400Public

Servers

15,000 FIs

7,000

Commercial Banks

(USA & Canada)

Page 43: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

46

Investigation

Page 44: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

47

OFX Survey

1. What FI’s are running an OFX server?• Find them and talk to them

2. What software is providing this service?• Ask them simple questions

Data from April 2018.

Page 45: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

48

Recon

ENUM HOSTS

TLS PING

WEB SERVER

OFX SERVER

OFX PROFILE

OFX ACCOUNT

• Typical URL• https://ofx.bank.com/ofx/ofxsrvr.dll

• User Community• ofxhome.com

• wiki.gnucash.org

• Commercial Clients• Branding Services

• DNS for FIs

• Name to OFX URL translation

Page 46: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

49

Recon

ENUM HOSTS

TLS PING

WEB SERVER

OFX SERVER

OFX PROFILE

OFX ACCOUNT

• DNS• Stale A records?

• TLS• Is server certificate expired?

Page 47: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

50

Stale DNS

Data from April 2018.

Page 48: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

51

Expired TLS Certificate

Data from April 2018.

Page 49: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

52

Recon

ENUM HOSTS

TLS PING

WEB SERVER

OFX SERVER

OFX PROFILE

OFX ACCOUNT

• HTTP GET /

• HTTP GET /path/ofx

• HTTP POST /path/ofx

• Fingerprint• Web server

• Web application framework

• OFX server

Page 50: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

53

HTTP GET /

Page 51: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

55

HTTP GET/path/ofx

Page 52: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

56

HTTP GET/path/ofx

Page 53: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

57

Recon

ENUM HOSTS

TLS PING

WEB SERVER

OFX SERVER

OFX PROFILE

OFX ACCOUNT

• HTTP POST /path/ofx• <OFX></OFX>

• Fingerprint• Framework errors

• OFX errors

Page 54: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

58

OFXHEADER:100DATA:OFXSGMLVERSION:102SECURITY:NONEENCODING:USASCII

<OFX></OFX>

Request ResponseError 500: java.lang.NullPointerException

HTTP POST /path/ofx

Page 55: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

59

OFXHEADER:100DATA:OFXSGMLVERSION:102SECURITY:NONEENCODING:USASCII

<OFX></OFX>

Request ResponseOFXHEADER<OFX><SIGNONMSGSRSV1><SONRS><STATUS><CODE>2000<SEVERITY>ERROR<MESSAGE>FID not found in file SQL State 02000

</STATUS><DTSERVER>20180324234025<LANGUAGE><FI><ORG>

</FI></SONRS>

</SIGNONMSGSRSV1></OFX>

HTTP POST /path/ofx

Page 56: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

60

OFXHEADER:100DATA:OFXSGMLVERSION:102SECURITY:NONEENCODING:USASCII

<OFX></OFX>

Request Response<b>Stack Trace:</b> <br><br>

<table width=100% bgcolor="#ffffcc"><tr><td><code><pre>

[ArgumentOutOfRangeException: Length cannot be less than zero.Parameter name: length]

System.String.Substring(Int32 startIndex, Int32 length) +12518387OFX.OFX.ProcessRequest(HttpContext context) in

C:\Environment\directconnect\OFX\OFX\OFX.ashx.cs:43System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +188

System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +69

</pre></code></td></tr>

</table>

HTTP POST /path/ofx

Page 57: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

61

Recon

ENUM HOSTS

TLS PING

WEB SERVER

OFX SERVER

OFX PROFILE

OFX ACCOUNT

• POST /path/ofx• <PROFRQ>

• Fingerprint• Spacing• In-house vs service provider

• Info Disclosure• More verbose errors• Long lived sessions• Password policy

Page 58: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

OFXHEADER:100DATA:OFXSGMLVERSION:103

<OFX><SIGNONMSGSRQV1><SONRQ><DTCLIENT>20180319054443.123[-7:MST]<USERID>anonymous00000000000000000000000<USERPASS>anonymous00000000000000000000000

</SONRQ></SIGNONMSGSRQV1><PROFMSGSRQV1><PROFTRNRQ><PROFRQ><DTPROFUP>19900101

</PROFRQ></PROFTRNRQ>

</PROFMSGSRQV1></OFX>

Request ResponseOFXHEADER:100DATA:OFXSGMLVERSION:103

<OFX><SIGNONMSGSRSV1><SONRS><STATUS><CODE>0<SEVERITY>INFO<MESSAGE>SUCCESS

</STATUS><DTSERVER>20180319014447.551[-4:EDT]<TSKEYEXPIRE>20190319120000.000[-4:EDT]<DTPROFUP>20081116120000.000[-5:EST]

</SONRS></SIGNONMSGSRSV1><PROFMSGSRSV1>...

</PROFMSGSRSV1></OFX>

HTTP POST /path/ofx <PROFRQ>

Page 59: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

OFXHEADER:100DATA:OFXSGMLVERSION:103

<OFX><SIGNONMSGSRQV1><SONRQ><DTCLIENT>20180319054443.123[-7:MST]<USERID>anonymous00000000000000000000000<USERPASS>anonymous00000000000000000000000

</SONRQ></SIGNONMSGSRQV1><PROFMSGSRQV1><PROFTRNRQ><PROFRQ><DTPROFUP>19900101

</PROFRQ></PROFTRNRQ>

</PROFMSGSRQV1></OFX>

Request ResponseOFXHEADER:100DATA:OFXSGMLVERSION:103

<OFX>...<PROFMSGSRQV1><PROFRQ><SIGNONINFOLIST><SIGNONINFO><MIN>4<MAX>4<CHARTYPE>ALPHAORNUMERIC<CASESEN>N<SPECIAL>N<SPACES>N

</SIGNONINFO></SIGNONINFOLIST>

</PROFRQ></PROFMSGSRQV1>></OFX>

HTTP POST /path/ofx <PROFRQ>

Page 60: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

65

Recon

ENUM HOSTS

TLS PING

WEB SERVER

OFX SERVER

OFX PROFILE

OFX ACCOUNT

• POST /path/ofx• <ACCTINFORQ>

• Fingerprint• Error message

Page 61: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

66

OFXHEADER:100DATA:OFXSGMLVERSION:103

<OFX><SIGNONMSGSRQV1><SONRQ><USERID>anonymous00000000000000000000000<USERPASS>anonymous00000000000000000000000

</SONRQ></SIGNONMSGSRQV1><SIGNUPMSGSRQV1><ACCTINFOTRNRQ><ACCTINFORQ><DTACCTUP>19900101

</ACCTINFORQ></ACCTINFOTRNRQ>

</SIGNUPMSGSRQV1></OFX>

Request

HTTP POST /path/ofx <ACCTINFORQ>

Page 62: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

67

Response(s)

HTTP POST /path/ofx <ACCTINFORQ>

<MESSAGE>SUCCESS

<MESSAGE>Signon invalid

<MESSAGE>Unsupported operation for anonymous user

<MESSAGE>Please contact your financial institution to enroll.

<MESSAGE>General error (ERROR) The server encountered an error.

<MESSAGE>Could not process request

<MESSAGE>General Error

<MESSAGE>&lt;FI&gt; Missing or Invalid in &lt;SONRQ&gt;

<MESSAGE>Unable to retrieve FI configuration.

<MESSAGE>There was a problem verifying the UserId/Password

<MESSAGE>User id password combination incorrect

<MESSAGE>Account information request could not be completed at this time. Please contact your financial institution for assistance.

<MESSAGE>Invalid FID sent in Request

<MESSAGE>No Accounts Returned

<MESSAGE>Account Not Found

<MESSAGE>Invalid session

<MESSAGE>UserID/PIN is incorrect.

<MESSAGE>Client up to date

<MESSAGE>Signon VALUES (for example, USER ID or Password) invalid.

Page 63: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

68

Financial Software Vendors

Page 64: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

https://www.sibanking.com/improved-core-banking-software/

Page 65: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

70

Where Do I Buy?

• No shrink wrapped boxes

• No ‘apt install’

• No app store

• No open source

Page 66: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect
Page 67: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

72

Software Vendors

Page 68: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

73

Aug 28, 2018

Page 69: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

76

OFX Hosting

ofx.netteller.com

ofxdi.diginsite.comofxdc.prd1.ncr.com

pfm.metavante.com

ofx.lanxtra.com

Page 70: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

77

0

20

40

60

80

100

120

140

160

180

Frequency of HTTP Servers

Page 71: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

78

Acquisition and Atrophy

https://www.fisglobal.com/about-us/about-our-company

Page 72: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

79

Vulnerabilities

Page 73: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

80

650 Page OFX specification

34 Implementations

x 10 Technology Stacks

221,000 Vulnerabilities

Page 74: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

81

Found in Production

• Web server disclosure

• Web framework disclosure

• OFX server version disclosure

• Backend DB disclosure

• Full stack trace on errors

• Full server file paths in errors

• Out-of-date software

• Unhandled exceptions

• Long lived session keys

• MFA ignored

• SSN/SIN used as usernames

• Inconsistent input validation

• Internal IP disclosure

• Valid user enumeration

• Personal email disclosure

• Unmaintained servers

• Null values returned

• Unregistered URL referenced

• Reflected/Stored XSS• I know it’s not a web page, and

yet…

Page 75: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

82

Demo

Page 76: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

83

ofxpostern

• Fingerprint OFX Server

• Show capabilities

• Scan for vulnerabilities

https://github.com/securityinnovation/ofxpostern

Page 77: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

84

Page 78: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

85

Page 79: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

86

Page 80: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

87

Page 81: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

88

Conclusions

Page 82: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

https://media-cdn.tripadvisor.com/media/photo-s/01/13/d9/9b/side-door.jpg

Page 83: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

90

Neglect

Page 84: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

91

Never Too Late To Invest In Your Future

•OFX 2.2

•OAuth

Intuit / Quicken

•Secure SDLC

Financial Software •Consumer

APIs

Financial Institutions

Page 85: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

93

Thank You!

@sdanndev | [email protected]

Questions?

Page 86: Your Bank’s Digital Side Door - Danneman · Quicken/Quickbooks Connection Types Web Connect •Unidirectional •Manual •Download a file •OFX file format Express Web Connect

94

Glossary

• FI - Financial Institution• A bank, brokerage, or credit card provider.

• PFM - Personal Financial Management• Client software for viewing and managing their financial accounts